@charset "UTF-8";

.wrap{
    margin: 0 auto;
    width: 1125px;
}
@media screen and (min-width:810px) and ( max-width:1139px) {
    .wrap{
        width: 100%;
    }
    }
@media screen and (min-width: 480px) and (max-width: 810px) {
    .wrap{
        width: 100%;
    }
}



/* MAIN VISUAL */
main #mv{
    height: 650px;
    position: relative;
    background: #E5EDDD;
}
main #mv #mvbg{
    width: 82%;
    margin: 0 0 0 18%;
    height: 650px;
    position: relative;
    z-index: 1;
    overflow: visible;
}
main #mv #mvbg img{
    display: none;
}
main #mv #mvbg #mvbg01{
    width: 100%;
    margin: 0;
    background: url(../images/index/mv01.jpg) no-repeat center center;
    background-size: 100% auto;
    height: 650px;
}
main #mv #mvbg .mvcf{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
}
@media screen and (min-width:768px) and ( max-width:1415px) {
    main #mv #mvbg #mvbg01,
    main #mv #mvbg #mvbg02{
            background-size:auto 100% ;
    }
}
main #mv #mvcontetnt{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 650px;
    z-index: 3;
}
main .spmvheight{
    display: none;
}
main #mv .wrap02{
    position: relative;
    height: 650px;
}
main #mv #mv_txtbox{
  background: #FFF;
  width: 580px;
  height: 415px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 9%;
  margin: auto;
  box-sizing: border-box;
  padding: 35px 20px 0 20px;
  font-feature-settings: "palt";
  letter-spacing: 2px;
}
main #mv #mv_txtbox p.mv_h1_pc{
  font-size:24px;
  line-height: 36px;
  display: block;
  margin: 0 0 15px 0;
  font-weight: 600;
  color: #1A1A1A;
  text-align: center;
}

main #mv #mv_txtbox .gkj01{
  display: block;
  margin: 0 auto 20px;
  width: 80%;
  text-align: center;
  background: url(../images/index/gkj01.png) no-repeat left center;
  background-size: auto 100%;
}
main #mv #mv_txtbox .gkj01 dl{
  display: block;
  margin: 0 0 0 0;
  background: url(../images/index/gkj02.png) no-repeat right center;
  background-size: auto 100%;
}
main #mv #mv_txtbox .gkj01 dl dt{
  display: block;
  margin: 0 0 10px 0;
  color: #004C26;
  font-weight: 600;
  font-size: 18px;
  padding:35px 0 0 0;
}
main #mv #mv_txtbox .gkj01 dl dd{
  display: block;
  margin: 0 0 0 0;
  padding:0 0 15px 0;
}
main #mv #mv_txtbox .gkj01 dl dd strong{
  display: inline-block;
  margin: 0 5px 0 0;
  color: #FF0000;
  font-weight: 600;
  font-size: 58px;
  letter-spacing: 0px;
  vertical-align: bottom;
}
main #mv #mv_txtbox .gkj01 dl dd span{
  display: inline-block;
  margin: 0 0 6px 0;
  color: #004C26;
  font-weight: 600;
  font-size: 28px;
  line-height: 28px;
  vertical-align: bottom;
}




main #mv #mv_txtbox p:nth-of-type(2){
  font-size:22px;
  line-height: 32px;
  letter-spacing:1px;
  margin: 0 0 20px 0;
  font-weight: 600;
  color: #00332B;
  text-align: center;
}
main #mv #mv_txtbox p:nth-of-type(3){
margin: 0 auto 0;
}
main #mv #mv_txtbox_sp{
  display: none;
}

@media screen and (min-width:810px) and ( max-width:1139px) {
    main #mv #mv_txtbox{
        left: 5%;
    }
}
@media screen and (min-width: 480px) and (max-width: 810px) {
    main #mv{
        height: auto;
        position: relative;
        background: #FFF;
      }
    main #mv #mvbg{
        width: 100%;
        margin: 0 0 0 0;
        height: auto;
        position: relative;
    }
    main #mv #mvbg #mvbg01{
      width: 100%;
      margin: 0;
      height: auto;
      background: none;
    }
    main #mv #mvbg .mvcf{
      position: static;
    }
    main #mv #mvbg img{
        display: inline;
        width: 100%;
    }
    main #mv #mvcontetnt{
        display: none;
    }
    main #mv #mv_txtbox_sp{
      display: block;
      position: absolute;
      left: 0px;
      bottom: 0px;
      width: 100%;
      box-sizing: border-box;
      padding: 0 5% 10%;
      font-feature-settings: "palt";
    }
    main #mv #mv_txtbox_sp p.mv_h1_sp{
      font-size:36px;
      line-height: 72px;
      overflow: hidden;
      display: block;
      letter-spacing: -1px;
      margin: 0 0 2% 0;
      font-weight: 600;
      color: #FFF;
    }
    main #mv #mv_txtbox_sp p:nth-of-type(2){
      font-size: 42px;
      line-height: 64px;
      font-feature-settings: "palt";
      letter-spacing: 1px;
      margin: 0px 0 5% 0;
      font-weight: 600;
      color: #FFF;
    }
    main #mv #mv_txtbox_sp .mv_btnbox_sp{
      margin: 0 0 0 0;
    }
    main #mv #mv_txtbox_sp .mv_btnbox_sp a{
      display: block;
      padding: 5% 5%;
      background: #FFF;
      position: relative;
      color: #FFF;
    }
    main #mv #mv_txtbox_sp .mv_btnbox_sp a p.icon01{
      color: #FFF;
      background: #ca0a13;
      display: inline-block;
      line-height: 55px;
      height: 55px;
      margin: 0 4% 0 0;
      font-size:3.1vw;
      letter-spacing: 0px;
      vertical-align: middle;
      font-weight: 600;
      border-radius: 28px;
      padding: 0 5.5% 0;
    }
    main #mv #mv_txtbox_sp .mv_btnbox_sp a p:nth-of-type(2){
      display: inline-block;
      font-size:4.2vw;
      line-height:55px;
      margin: 0 3% 0 0;
      color: #043077;
      vertical-align: middle;
      font-weight: 600;
    }
    main #mv #mv_txtbox_sp .mv_btnbox_sp a span{
      font-size:5.0vw;
      line-height: 54px;
      vertical-align: middle;
      position: absolute;
      right: 3%;
      top: auto;
      bottom: auto;
      color: #043077;
    }




  }
  @media screen and (max-width: 479px) {
    main #mv{
      height: auto;
      position: relative;
      background: #FFF;
    }
  main #mv #mvbg{
      width: 100%;
      margin: 0 0 0 0;
      height: auto;
      position: relative;
  }
  main #mv #mvbg #mvbg01{
    width: 100%;
    margin: 0;
    height: auto;
    background: none;
  }
  main #mv #mvbg .mvcf{
    position: static;
  }
  main #mv #mvbg img{
      display: inline;
      width: 100%;
  }
  main #mv #mvcontetnt{
      display: none;
  }
  main #mv #mv_txtbox_sp{
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    box-sizing: border-box;
    padding: 0 5% 11.5%;
  }
  main #mv #mv_txtbox_sp p.mv_h1_sp{
    font-size: 4.1vw;
    line-height: 39px;
    display: block;
    letter-spacing:1px;
    margin: 0 0 1% 0;
    font-weight: 600;
    color: #FFF;
    font-feature-settings: "palt";
  }
  main #mv #mv_txtbox_sp p.sdw{
    text-shadow: 0px 1px 5px #00332B;
  }
  main #mv #mv_txtbox_sp p:nth-of-type(2){
    font-size:5.3vw;
    line-height: 1.7;
    overflow: hidden;
    font-feature-settings: "palt";
    letter-spacing:0px;
    margin: 0 0 5% 0;
    font-weight: 600;
    color: #FFF;
  }

  main #mv #mv_txtbox_sp .mv_btnbox_sp{
    margin: 0 0 0 0;
  }
  main #mv #mv_txtbox_sp .mv_btnbox_sp a{
    display: block;
    padding: 0 5%;
    background: #FFF;
    position: relative;
    color: #FFF;
  }
  main #mv #mv_txtbox_sp .mv_btnbox_sp a p.icon01{
    color: #FFF;
    background: #ca0a13;
    display: inline-block;
    line-height: 31px;
    height: 31px;
    margin: 0 4% 0 0;
    font-size:3.1vw;
    letter-spacing: 0px;
    vertical-align: middle;
    font-weight: 600;
    border-radius: 28px;
    padding: 0 5.5% 0;
  }
  main #mv #mv_txtbox_sp .mv_btnbox_sp a p:nth-of-type(2){
    display: inline-block;
    font-size:4.2vw;
    line-height:54px;
    margin: 0 3% 0 0;
    color: #00332B;
    vertical-align: middle;
    font-weight: 600;
  }
  main #mv #mv_txtbox_sp .mv_btnbox_sp a span{
    font-size:5.0vw;
    line-height: 54px;
    vertical-align: middle;
    position: absolute;
    right: 3%;
    top: auto;
    bottom: auto;
    color: #003141;
  }






}





/* SERVICE */
main #service{ background: #E5EDDD;   font-feature-settings: "palt"; }
main #service #service_head{
  background: #E5EDDD;
  padding:80px 0 0 0;
}
main #service #service_head .wrap{
  background: #FFF;
  padding:0 0 0 0;
  height: 80px;
  width: 1140px;
  box-sizing: border-box;
}

main #service #service_body{
    padding:0 0 0 0;
    background: url(../images/index/service_bg.jpg) no-repeat center top;
    background-size: 100% auto;
}
main #service #service_body .wrap{
    background:#FFF;
    padding:0 80px 0;
    width: 1140px;
    box-sizing: border-box;
    position: relative;
}
main #service #service_body .wrap h2{
  display: block;
  color: #00332B;
  margin: 0 0 40px 0;
  text-align: center;
}
main #service #service_body .wrap h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.0;
  margin: 0 0 8px 0;
}
main #service #service_body .wrap h2 .read{
  color: #00332B;
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: 0px;
  text-align: center;
}
main #service #service_body .wrap .txt01{
  font-size: 1.6rem;
  line-height: 32px;
  color: #1A1A1A;
  margin: 0 0 60px 0;
  text-align: center;
}
main #service #service_body .wrap .txt02{
  font-size: 1.4rem;
  line-height: 24px;
  color: #1A1A1A;
  margin: 0 0 30px 0;
  text-align: left;
}
main #service #service_body .servicebox01{
  padding: 40px 40px 20px;
  background: #E5EDDD;
  margin: 0 0 20px 0;
}
main #service #service_body .servicebox01 h3{
  display: block;
  margin: 0 0 15px 0;
}
main #service #service_body .servicebox01 h3 a{
  position: relative;
  display: inline-block;
  font-size: 2.0rem;
  line-height: 26px;
  color: #00332B;
  font-weight: 600;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main #service #service_body .servicebox01 h3 a::after {
  position: absolute;
  top: 27%;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: -18px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #00332B;
  border-right: 2px solid #00332B;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main #service #service_body .servicebox01 h3 a:hover{
  opacity: 0.7;
  text-decoration: none;
}
main #service #service_body .servicebox01 ul.servicelist{
  display: block;
  letter-spacing: -.4em;
}
main #service #service_body .servicebox01 ul.servicelist li{
  display: inline-block;
  letter-spacing: normal;
  width: 25%;
  margin: 0 0 20px 0;
}
main #service #service_body .servicebox01 ul.servicelist li a{
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
main #service #service_body .servicebox01 ul.servicelist li a:hover{
  text-decoration: none;
  opacity: 0.7;
}
main #service #service_body .servicebox01 ul.servicelist li a dl{
  display: table;
  width: 100%;
  height: 50px;
}
main #service #service_body .servicebox01 ul.servicelist li a dl dt{
  display: table-cell;
  width: 50px;
  vertical-align: middle;
}
main #service #service_body .servicebox01 ul.servicelist li a dl dt img{
  width: 50px;
}
main #service #service_body .servicebox01 ul.servicelist li a dl dd{
  display: table-cell;
  padding: 0 20px 0 15px;
  vertical-align: middle;
  color: #00332B;
  font-size: 1.4rem;
  line-height: 23px;
  font-weight: 600;
}
main #service #service_body .servicebox01 ul.servicelist li a dl dd::after {
  margin: -3px 0 0 5px;
  content: "";
  vertical-align: middle;
  width: 7px;
  height: 7px;
  border-top: 1px solid #00332B;
  border-right: 1px solid #00332B;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  display: inline-block;
}

main #service #service_body .servicebox02 {
  clear: both;
  padding:40px 0 0 0;
}
main #service #service_body .servicebox02 .servicebox0201{
  width: 310px;
  float: left;
  background: #E5EDDD;
  margin: 0 24px 0 0;
}
main #service #service_body .servicebox02 .servicebox0201:nth-last-child(1){
  margin: 0 0 0 0;
}
main #service #service_body .servicebox02 .servicebox0201 a{
  display: block;
}
main #service #service_body .servicebox02 .servicebox0201 a:hover{
  text-decoration: none;
}
main #service #service_body .servicebox02 .servicebox0201 a p{
  margin: 0 0 0 0;
  display: block;
  overflow: hidden;
  height: 100px;
}
main #service #service_body .servicebox02 .servicebox0201 a p img{
  width: 100%;
  height: auto;
  transition: .3s;
}
main #service #service_body .servicebox02 .servicebox0201 a:hover p img {
  transform: scale(1.05);
}

main #service #service_body .servicebox02 .servicebox0201 a dl{
  display: block;
  padding: 30px 20px;
}
main #service #service_body .servicebox02 .servicebox0201 a dl dt{
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  position: relative;
  color: #00332B;
  margin: 0 0 10px;
}
main #service #service_body .servicebox02 .servicebox0201 a dl dt::after {
  position: absolute;
  top: 20%;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: -15px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #00332B;
  border-right: 1px solid #00332B;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main #service #service_body .servicebox02 .servicebox0201 a dl dd{
  font-size: 14px;
  line-height: 24px;
  color: #1A1A1A;
}

main #service #service_foot{
  background: #E5EDDD;
  padding:0 0 80px 0;
}
main #service #service_foot .wrap{
  background: #FFF;
  padding:0 0 0 0;
  height: 80px;
  width: 1140px;
  box-sizing: border-box;
}



@media screen and (min-width:1140px) and ( max-width:1365px) {
}
@media screen and (min-width:768px) and ( max-width:1139px) {

  /* SERVICE */
  main #service #service_head{
    display: none;
  }
  main #service #service_body .wrap{
    background:#FFF;
    padding:60px 6% 60px;
    width: 100%;
    box-sizing: border-box;
  }
  main #service #service_body .servicebox01 ul.servicelist li{
    display: inline-block;
    letter-spacing: normal;
    width: 33%;
    margin: 0 0 20px 0;
  }

  main #service #service_body .servicebox02 .servicebox0201{
    width: 49%;
    float: left;
    margin: 0 2% 20px 0;
  }
  main #service #service_body .servicebox02 .servicebox0201:nth-of-type(2n){
    margin: 0 0 20px 0;
  }
  main #service #service_body .servicebox02 .servicebox0201:nth-last-child(1){
    margin:auto;
  }

  main #service #service_foot{
    display: none;
  }


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

  /* SERVICE */
  main #service #service_head{
    display: none;
  }
  main #service #service_body .wrap{
      background:#FFF;
      padding:60px 6% 60px;
      width: 100%;
      box-sizing: border-box;
  }
  main #service #service_body .wrap h2{
    display: block;
    margin: 0 0 25px 0;
  }
  main #service #service_body .wrap h2 strong{
    display: block;
    font-size: 40px;
    margin: 0 0 8px 0;
  }
  main #service #service_body .wrap h2 .read{
    font-size: 1.2rem;
    line-height: 1.1;
  }
  main #service #service_body .wrap .txt01{
    font-size: 1.4rem;
    line-height: 23px;
    margin: 0 0 40px 0;
    text-align: left;
  }
  main #service #service_body .wrap .txt02{
    font-size: 1.4rem;
    line-height: 23px;
    margin: 0 0 40px 0;
    text-align: left;
  }
  main #service #service_body .servicebox01{
    padding: 25px 6% 20px;
    margin: 0 0 20px 0;
  }
  main #service #service_body .servicebox01 h3{
    display: block;
    margin: 0 0 15px 0;
  }
  main #service #service_body .servicebox01 h3 a{
    font-size: 1.6rem;
    line-height: 24px;
  }
  main #service #service_body .servicebox01 h3 a::after {
    position: absolute;
    top: 25%;
    margin: auto;
    right: -14px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #00332B;
    border-right: 2px solid #00332B;
  }
  main #service #service_body .servicebox01 ul.servicelist{
    display: block;
    letter-spacing: -.4em;
  }
  main #service #service_body .servicebox01 ul.servicelist li{
    width: 48.5%;
    margin: 0 3% 20px 0;
  }
  main #service #service_body .servicebox01 ul.servicelist li:nth-of-type(even){
    margin: 0 0 20px 0;
  }
  main #service #service_body .servicebox01 ul.servicelist li a dl{
    display: table;
    width: 100%;
    height: auto;
  }
  main #service #service_body .servicebox01 ul.servicelist li a dl dt{
    display: table-cell;
    width: 40px;
    vertical-align: top;
  }
  main #service #service_body .servicebox01 ul.servicelist li a dl dt img{
    width: 40px;
  }
  main #service #service_body .servicebox01 ul.servicelist li a dl dd{
    display: table-cell;
    vertical-align: top;
    padding: 0 10px 0 10px;
    font-size: 1.2rem;
    line-height: 22px;
  }
  main #service #service_body .servicebox01 ul.servicelist li a dl dd::after {
    margin: -2px 0 0 5px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #00332B;
    border-right: 1px solid #00332B;
    display: inline-block;
  }

  main #service #service_body .servicebox02 {
    padding:40px 0 0 0;
  }
  main #service #service_body .servicebox02 .servicebox0201{
    width: 100%;
    float: none;
    background: #E5EDDD;
    margin: 0 0 20px 0;
  }
  main #service #service_body .servicebox02 .servicebox0201:nth-last-child(1){
    margin: 0 0 0 0;
  }
  main #service #service_body .servicebox02 .servicebox0201 a{
    display: block;
  }
  main #service #service_body .servicebox02 .servicebox0201 a p{
    height: auto;
  }
  main #service #service_body .servicebox02 .servicebox0201 a p img{
    width: 100%;
    height: auto;
    transition: .3s;
  }
  main #service #service_body .servicebox02 .servicebox0201 a:hover p img {
    transform: scale(1);
  }

  main #service #service_body .servicebox02 .servicebox0201 a dl{
    display: block;
    padding: 25px 20px;
  }
  main #service #service_body .servicebox02 .servicebox0201 a dl dt{
    font-size: 16px;
    margin: 0 0 10px;
  }
  main #service #service_body .servicebox02 .servicebox0201 a dl dt::after {
    position: absolute;
    top: 20%;
    margin: auto;
    right: -14px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #00332B;
    border-right: 2px solid #00332B;
  }
  main #service #service_body .servicebox02 .servicebox0201 a dl dd{
    font-size: 12px;
    line-height: 22px;
  }
  main #service #service_foot{
    display: none;
  }

}








/* FEATURES */
main #features{
  width: 100%;
  padding: 0 0 0 0;
  background: #e5eddd;
  background: -moz-linear-gradient(left,  #e5eddd 49%, #ffffff 51%);
  background: -webkit-linear-gradient(left,  #e5eddd 49%,#ffffff 51%);
  background: linear-gradient(to right,  #e5eddd 49%,#ffffff 51%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5eddd', endColorstr='#ffffff',GradientType=1 );
}
main #features .wrap{
  background: #FFFFFF;
  width: 1140px;
  font-feature-settings: "palt";
}
main #features .wrap #features_body{
  width: 100%;
  padding: 80px 0 80px 80px;
  box-sizing: border-box;
}
main #features .wrap #features_body #fb_inner{
  display: table;
  width: 100%;
}
main #features .wrap #features_body #fb_inner #fb01{
  display: table-cell;
  vertical-align: middle;
  width: 406px;
  box-sizing: border-box;
  padding: 0 80px 0 0;
}
main #features .wrap #features_body #fb_inner #fb01 h2{
  display: block;
  color: #00332B;
  margin: 0 0 25px 0;
  text-align: left;
}
main #features .wrap #features_body #fb_inner #fb01 h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 10px 0;
}
main #features .wrap #features_body #fb_inner #fb01 h2 .read{
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: -0.5px;
}
main #features .wrap #features_body #fb_inner #fb01 .txt01{
  font-size: 1.6rem;
  line-height: 32px;
  color: #1A1A1A;
  margin: 0 0 30px 0;
  text-align: left;
}
main #features .wrap #features_body #fb_inner #fb02{
  display: table-cell;
  vertical-align: middle;
}
main #features .wrap #features_body #fb_inner #fb02 dl{
  display:table;
  width: 100%;
  height: 104px;
  background: #E5EDDD;
  margin: 0 0 10px 0;
}
main #features .wrap #features_body #fb_inner #fb02 dl dt{
  display:table-cell;
  width: 120px;
  padding:0 0 0 20px;
  box-sizing: border-box;
  text-align: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 60px;
  line-height: 104px;
  font-weight: bold;
  letter-spacing: -1px;
}
main #features .wrap #features_body #fb_inner #fb02 dl dd{
  display:table-cell;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 28px;
  font-weight: 600;
  vertical-align: middle;
}
main #features .wrap #features_body #fb_inner #fb02 dl.fbox01{
  background: url(../images/index/features_img01.png) no-repeat right center #E5EDDD;
  background-size: auto 100%;
}
main #features .wrap #features_body #fb_inner #fb02 dl.fbox02{
  background: url(../images/index/features_img02.png) no-repeat right center #E5EDDD;
  background-size: auto 100%;
}
main #features .wrap #features_body #fb_inner #fb02 dl.fbox03{
  background: url(../images/index/features_img03.png) no-repeat right center #E5EDDD;
  background-size: auto 100%;
}
main #features .wrap #features_body #fb_inner #fb02 dl.fbox04{
  background: url(../images/index/features_img04.png) no-repeat right center #E5EDDD;
  background-size: auto 100%;
}
main #features .wrap #features_body #fb_inner #fb02 dl.fbox05{
  background: url(../images/index/features_img05.png) no-repeat right center #E5EDDD;
  background-size: auto 100%;
}
.sp_btn{
  display: none;
}

@media screen and (min-width:768px) and ( max-width:1140px) {

  main #features .wrap{
    width: 100%;
  }
  main #features .wrap #features_body{
    width: 100%;
    padding: 60px 6% 60px;
    box-sizing: border-box;
  }
  main #features .wrap #features_body #fb_inner{
    display: block;
    width: 100%;
  }
  main #features .wrap #features_body #fb_inner #fb01{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 60px 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2{
    display: block;
    color: #00332B;
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2 strong{
    display: block;
    font-size: 72px;
    line-height: 1.1;
    margin: 0 0 10px 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2 .read{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 0 0;
    letter-spacing: -0.5px;
  }
  main #features .wrap #features_body #fb_inner #fb01 .txt01{
    font-size: 1.6rem;
    line-height: 32px;
    color: #1A1A1A;
    margin: 0 0 30px 0;
    text-align: left;
  }
  main #features .wrap #features_body #fb_inner #fb02{
    display: block;
  }
}

@media screen and (max-width:767px) {
  main #features{
    width: 100%;
  }
  main #features .wrap{
    background: #FFFFFF;
    width: 100%;
  }
  main #features .wrap #features_body{
    width: 100%;
    padding: 60px 6% 60px;
    box-sizing: border-box;
  }
  main #features .wrap #features_body #fb_inner{
    display: block;
    width: 100%;
  }
  main #features .wrap #features_body #fb_inner #fb01{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 0 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2{
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2 strong{
    display: block;
    font-size: 40px;
    line-height: 1.1;
    margin: 0 0 8px 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 h2 .read{
    display: block;
    font-size: 1.2rem;
    line-height: 22px;
    margin: 0 0 0 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 .txt01{
    font-size: 1.2rem;
    line-height: 24px;
    margin: 0 0 30px 0;
  }
  main #features .wrap #features_body #fb_inner #fb01 .dfbtn01{
    display: none;
  }

  
  main #features .wrap #features_body #fb_inner #fb02{
    display: block;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl{
    display:table;
    width: 100%;
    height: 104px;
    background: #E5EDDD;
    margin: 0 0 10px 0;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl dt{
    display:table-cell;
    width: 25%;
    padding:0 0 33% 3%;
    font-size: 50px;
    line-height: 100px;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl dd{
    display:table-cell;
    font-size: 14px;
    line-height: 24px;
    padding:0 6% 33% 0;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl dd br{
    display:none;
    
  }
  main #features .wrap #features_body #fb_inner #fb02 dl.fbox01{
    background: url(../images/index/features_img01sp.png) no-repeat right bottom #E5EDDD;
    background-size:100% auto ;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl.fbox02{
    background: url(../images/index/features_img02sp.png) no-repeat right bottom #E5EDDD;
    background-size:100% auto ;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl.fbox03{
    background: url(../images/index/features_img03sp.png) no-repeat right bottom #E5EDDD;
    background-size:100% auto ;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl.fbox04{
    background: url(../images/index/features_img04sp.png) no-repeat right bottom #E5EDDD;
    background-size:100% auto ;
  }
  main #features .wrap #features_body #fb_inner #fb02 dl.fbox05{
    background: url(../images/index/features_img05sp.png) no-repeat right bottom #E5EDDD;
    background-size:100% auto ;
  }
  .sp_btn{
    display: block;
    padding: 40px 0 0 0;
  }
  .sp_btn p{
    width: 100%;
  }
}



/* CONTACT */
main .contact01{
    background: #E5EDDD;
    padding: 0 0 80px 0;
}
main .contact01 .contact01_inner{
    background:url(../images/index/contact_bg01.jpg) no-repeat right center #FFF;
    background-size: 100% auto;
}
main .contact01 .wrap{
  height: 300px;
  padding: 90px 40px 0 440px;
  box-sizing: border-box;
  width: 1140px;
}
main .contact01 .wrap dl{
  display: table;
  margin: 0 0 30px 0;
  font-feature-settings: "palt";

}
main .contact01 .wrap dl:nth-of-type(2){
  display: table;
  margin: 0 0 0 0;
}
main .contact01 .wrap dl dt{
  display: table-cell;
  font-size: 20px;
  line-height: 36px;
  color: #1A1A1A;
  font-weight: 600;
  letter-spacing: -0.5px;
  width: 330px;
  vertical-align: middle;
}
main .contact01 .wrap dl dd{
  display: table-cell;
  vertical-align: middle;
}
main .contact01 .wrap dl dd.pctel{
  display: table-cell;
  vertical-align: middle;
}
main .contact01 .wrap dl dd.sptel{
  display: none;
}

main .contact01 .wrap dl dd em{
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
}
main .contact01 .wrap dl dd svg{
  height: 26px;
}
main .contact01 .wrap dl dd span.tel{
  display: inline-block;
  vertical-align: middle;
  font-size: 28px;
  line-height: 30px;
  font-weight: 600;
  margin: 0 10px 0 0;
  letter-spacing: 0;
}
main .contact01 .wrap dl dd p{
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  line-height: 30px;
  font-weight: 400;
  color: #000;
}

@media screen and (min-width:1140px) and ( max-width:1415px) {
  main .contact01 .contact01_inner{
      background-size: auto 100%;
  }
}
@media screen and (min-width:768px) and ( max-width:1139px) {
  main .contact01{
      padding: 0 0 0 0;
  }
  main .contact01 .contact01_inner{
    background:url(../images/index/contact_bg01sp.jpg) no-repeat right center #FFF;
    background-size: 100% auto;
    padding: 50px 4%;
  }
  main .contact01 .wrap{
      height: auto;
      padding: 80px 65px;
      box-sizing: border-box;
      width: 100%;
      background-color:rgba(255,255,255,0.9);
  }
  main .contact01 .wrap dl{
    display: table;
    margin: 0 0 25px 0;
  }
  main .contact01 .wrap dl:nth-of-type(2){
    display: table;
    margin: 0 0 0 0;
  }
  main .contact01 .wrap dl dt{
    display: table-cell;
    font-size:16px;
    line-height: 36px;
    color: #1A1A1A;
    font-weight: 600;
    letter-spacing: -0.5px;
    width: 277px;
  }
  main .contact01 .wrap dl dd{
    display: table-cell;
  }
}
@media screen and (max-width:767px) {
  main .contact01{
    padding: 0 0 0 0;
  }
  main .contact01 .contact01_inner{
    background:url(../images/index/contact_bg01sp.jpg) no-repeat right center #FFF;
    background-size: 100% auto;
    padding: 50px 6%;
  }
  main .contact01 .wrap{
      height: auto;
      padding: 30px 6% 40px;
      box-sizing: border-box;
      width: 100%;
      background-color:rgba(255,255,255,0.9);
  }
  main .contact01 .wrap dl{
    display: block;
    margin: 0 0 25px 0;
  }
  main .contact01 .wrap dl:nth-of-type(2){
    display: block;
    margin: 0 0 0 0;
  }
  main .contact01 .wrap dl dt{
    display: block;
    font-size:14px;
    font-weight: 600;
    line-height: 36px;
    text-align: center;
    width: 100%;
    margin: 0 0 10px 0;
  }
  main .contact01 .wrap dl dd{
    display: block;
  }
  main .contact01 .wrap dl dd.pctel{
    display:none;
  }
  main .contact01 .wrap dl dd.sptel{
    display: block;
  }
  main .contact01 .wrap dl dd.sptel a{
    display: block;
    background: #00332B;
    color: #FFF;
    text-align: center;
    padding: 10px 0 10px;
  }
  main .contact01 .wrap dl dd span.tel{
    font-size: 20px;
  }
  main .contact01 .wrap dl dd.sptel a em{
    padding:0 0 0 ;
  }
  main .contact01 .wrap dl dd.sptel a svg{
    fill: #FFF !important;
  }
  main .contact01 .wrap dl dd p{
    width: 100%;
    display: block;
    text-align: center;
    padding: 0 0 0 0;
  }

}
@media screen and (max-width:405px) {
    main .contact01 .contact01_inner{
      background:url(../images/index/contact_bg01sp.jpg) no-repeat center center #FFF;
      background-size: 100% auto;
        padding: 70px 5%;
    }
}




/* FAQ ／ NEWS 枠 */
main #faq_news_bgarea{
  width: 100%;
  background: url(../images/index/faq_bg.jpg) no-repeat center 160px #E5EDDD;
  background-size: 100% auto;
  padding: 0 0 0 0;
}
main #faq_news_bgarea #fn_area_head{
  width: 100%;
  background:#E5EDDD;
  padding: 80px 0 0 0;
}
main #faq_news_bgarea #fn_area_head #fn_area_head_inner{
  padding: 0 0 0 0;
  background: #e5eddd;
  background: -moz-linear-gradient(left,  #FFFFFF 49%, #e5eddd 51%);
  background: -webkit-linear-gradient(left,  #FFFFFF 49%,#e5eddd 51%);
  background: linear-gradient(to right,  #FFFFFF 49%,#e5eddd 51%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#e5eddd',GradientType=1 );
}
main #faq_news_bgarea #fn_area_head #fn_area_head_inner .wrap{
  width: 1140px;
  background:#FFF;
  padding: 80px 0 0 0;
}
main #faq_news_bgarea #fn_area_body01{
  width: 100%;
  display: table;
  margin: 0 0 80px 0;
}
main #faq_news_bgarea #fn_area_body01 #fnb0101{
  width: auto;
  display: table-cell;
  background: #FFF;
}
main #faq_news_bgarea #fn_area_body01 #fnb0102{
  width: 1140px;
  display: table-cell;
  background: #FFF;
}
main #faq_news_bgarea #fn_area_body01 #fnb103{
  width: auto;
  display: table-cell;
}
main #faq_news_bgarea #fn_area_body02{
  width: 100%;
  display: table;
  margin: 0 0 0 0;
}
main #faq_news_bgarea #fn_area_body02 #fnb0201{
  width: auto;
  display: table-cell;
}
main #faq_news_bgarea #fn_area_body02 #fnb0202{
  width: 1140px;
  display: table-cell;
  background: #FFF;
}
main #faq_news_bgarea #fn_area_body02 #fnb0203{
  width: auto;
  display: table-cell;
  background: #FFF;
}
main #faq_news_bgarea #fn_area_foot{
  width: 100%;
  background:#E5EDDD;
  padding: 0 0 80px 0;
}
main #faq_news_bgarea #fn_area_foot #fn_area_foot_inner{
  padding: 0 0 0 0;
  background: #e5eddd;
  background: -moz-linear-gradient(left,  #e5eddd 49%, #FFFFFF 51%);
  background: -webkit-linear-gradient(left,  #e5eddd 49%,#FFFFFF 51%);
  background: linear-gradient(to right,  #e5eddd 49%,#FFFFFF 51%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5eddd', endColorstr='#FFFFFF',GradientType=1 );
}
main #faq_news_bgarea #fn_area_foot #fn_area_foot_inner .wrap{
  width: 1140px;
  background:#FFF;
  padding: 0 0 80px 0;
}

@media screen and (min-width:768px) and ( max-width:1139px) {

  main #faq_news_bgarea #fn_area_head{
    display: none;
  }

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

  /* FAQ ／ NEWS 枠 */
  main #faq_news_bgarea{
    background:none;
  }
  main #faq_news_bgarea #fn_area_head{
    display: none;
  }
  main #faq_news_bgarea #fn_area_body01{
    width: 100%;
    display: block;
    margin: 0 0 0 0;
  }
  main #faq_news_bgarea #fn_area_body01 #fnb0101{
    display: none;
  }
  main #faq_news_bgarea #fn_area_body01 #fnb0102{
    width: 100%;
    display: block;
    background: #E5EDDD;
  }
  main #faq_news_bgarea #fn_area_body01 #fnb103{
    display: none;
  }
  main #faq_news_bgarea #fn_area_body02{
    display: block;
  }
  main #faq_news_bgarea #fn_area_body02 #fnb0201{
    display:none;
  }
  main #faq_news_bgarea #fn_area_body02 #fnb0202{
    width: 100%;
    display:block;
    background: #FFF;
  }
  main #faq_news_bgarea #fn_area_body02 #fnb0203{
    display:none;
  }
  main #faq_news_bgarea #fn_area_foot{
    display: none;
  }


}


/* FAQ */
main #faq_body{
  padding: 0 80px 100px;
}
main #faq_body h2{
  display: block;
  color: #00332B;
  margin: 0 0 60px 0;
  padding: 0 0 0 0;
  text-align: left;
}
main #faq_body h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 8px 0;
}
main #faq_body .faqbox{
  margin: 0 0 0;
}
main #faq_body .faqbox:first-of-type{
  border-top: 1px solid #1a1a1a;
}
main #faq_body .faqbox .faqbox_q{
  margin: 0 0 0;
  border-bottom: 1px solid #1a1a1a;
  display: table;
  width: 100%;
  position: relative;
  cursor: pointer;
}
main #faq_body .faqbox .faqbox_q:hover{
  opacity: 0.8;
}
main #faq_body .faqbox .faqbox_q:after,
main #faq_body .faqbox .faqbox_q:before {
  display: block;
  content: '';
  background-color: #00332B;
  position: absolute;
  width: 18px;
  height: 4px;
  top: 50%;
  right: 15px;
  transform: translate(-50%, -50%);
}
main #faq_body .faqbox .faqbox_q:before {
  width: 4px;
  height: 18px;
  right: 29px;
}
main #faq_body .faqbox .faqbox_q.active:before {
  display: none;
}
main #faq_body .faqbox .faqbox_q p:nth-of-type(1){
  display: table-cell;
  padding: 25px 0 25px;
  box-sizing: border-box;
  width: 75px;
  text-align: center;
  font-size: 24px;
  line-height: 26px;
  font-weight: 600;
  vertical-align: top;
  font-family: "Roboto Condensed", sans-serif;
  color: #00332B;
}
main #faq_body .faqbox .faqbox_q p:nth-of-type(2){
  display: table-cell;
  padding: 25px 80px 25px 0;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  color: #00332B;
}
main #faq_body .faqbox .faqbox_a{
  margin: 0 0 0;
  border-bottom: 1px solid #1a1a1a;
  display: none;
}
main #faq_body .faqbox .faqbox_a p:nth-of-type(1){
  display: table-cell;
  padding: 25px 0 25px;
  box-sizing: border-box;
  width: 75px;
  text-align: center;
  font-size: 24px;
  line-height: 31px;
  font-weight: 600;
  vertical-align: top;
  font-family: "Roboto Condensed", sans-serif;
}
main #faq_body .faqbox .faqbox_a p:nth-of-type(2){
  display: table-cell;
  padding: 25px 0 25px;
  font-size: 16px;
  line-height: 30px;
  color: #1a1a1a;
}

main #faq_body .faqbox .faqbox_a p .linkbox{
  display: block;
  padding: 10px 0 0 0;
}
main #faq_body .faqbox .faqbox_a p .linkbox.nomgnt00{
  padding: 0 0 0 0;
}
main #faq_body .faqbox .faqbox_a p .linkbox a{
  color: #3876C1;
  font-size: 16px;
  line-height: 32px;
  padding: 0 0 0 15px;
  position: relative;
}
main #faq_body .faqbox .faqbox_a p .linkbox a::before{
  position: absolute;
  top: 7px;
  margin: auto;
  content: "";
  vertical-align: middle;
  left: 0px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #3876c1;
  border-right: 1px solid #3876c1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
main #faq_body #faq_foot{
  padding:50px 0 0 0;
}
main #faq_body #faq_foot p{
  float: right;
}
      
@media screen and (min-width:768px) and ( max-width:1139px) {

  /* FAQ */
  main #faq_body{
    padding: 60px 6% 60px;
  }
  main #faq_body h2{
    margin: 0 0 30px 0;
    text-align: center;
  }

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

  /* FAQ */
  main #faq_body{
    padding: 60px 6% 60px;
  }
  main #faq_body h2{
    margin: 0 0 30px 0;
    text-align: center;
  }
  main #faq_body h2 strong{
    font-size: 40px;
    line-height: 1.1;
    margin: 0 0 8px 0;
  }
  main #faq_body h2 .read{
    font-size: 12px;
    line-height: 25px;
    display: block;
  }
  main #faq_body .faqbox .faqbox_q:after,
  main #faq_body .faqbox .faqbox_q:before {
    display: block;
    content: '';
    background-color: #00332B;
    position: absolute;
    width: 18px;
    height: 4px;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%);
  }
  main #faq_body .faqbox .faqbox_q:before {
    width: 4px;
    height: 18px;
    right: 14px;
  }
  main #faq_body .faqbox .faqbox_q.active:before {
    display: none;
  }
  main #faq_body .faqbox .faqbox_q p:nth-of-type(1){
    display: table-cell;
    padding: 23px 15px 25px 3px;
    font-size: 20px;
    line-height: 26px;
    width: 9%;
    text-align: left;
  }
  main #faq_body .faqbox .faqbox_q p:nth-of-type(2){
    display: table-cell;
    padding: 25px 35px 25px 0;
    font-size: 14px;
    line-height: 24px;
    font-weight: 600;
    color: #00332B;
  }
  main #faq_body .faqbox .faqbox_a{
    margin: 0 0 0;
    border-bottom: 1px solid #1a1a1a;
    display: none;
  }
  main #faq_body .faqbox .faqbox_a p:nth-of-type(1){
    display: table-cell;
    padding: 23px 15px 25px 3px;
    font-size: 20px;
    line-height: 26px;
    width: auto;
  }
  main #faq_body .faqbox .faqbox_a p:nth-of-type(2){
    display: table-cell;
    padding: 25px 0 25px;
    font-size: 14px;
    line-height: 24px;
  }

  main #faq_body .faqbox .faqbox_a p .linkbox{
    display: block;
    padding: 10px 0 0 0;
  }
  main #faq_body .faqbox .faqbox_a p .linkbox.nomgnt00{
    padding: 0 0 0 0;
  }
  main #faq_body .faqbox .faqbox_a p .linkbox a{
    color: #3876C1;
    font-size: 16px;
    line-height: 32px;
    padding: 0 0 0 15px;
    position: relative;
  }
  main #faq_body .faqbox .faqbox_a p .linkbox a::before{
    position: absolute;
    top: 7px;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 0px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #3876c1;
    border-right: 1px solid #3876c1;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  main #faq_body #faq_foot{
    padding:40px 0 0 0;
  }
  main #faq_body #faq_foot p{
    float: none;
    width: 100%;
  }


}



/* NEWS */
main #newsarea{
  padding: 80px 0 80px 80px;
}
main #news_body{
  display: table;
  width: 100%;
}
main #news_body #nb01{
  display: table-cell;
  vertical-align: top;
  width: 230px;
  box-sizing: border-box;
  padding: 0 55px 0 0;
}
main #news_body #nb01 h2{
  display: block;
  color: #00332B;
  margin: 0 0 25px 0;
  text-align: left;
}
main #news_body #nb01 h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 10px 0;
}
main #news_body #nb01 h2 .read{
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: -0.5px;
}
main #news_body #nb02{
  display: table-cell;
  vertical-align: top;
}
main #news_body #nb02 ul{
  display:block;
  border-top: 1px solid #1a1a1a;
}
main #news_body #nb02 ul li{
  display:block;
  font-feature-settings: "palt";
  margin: 0 0 0 0;
  border-bottom: 1px solid #1a1a1a;
}
main #news_body #nb02 ul li:last-child{
  margin: 0 0 0 0;
}
main #news_body #nb02 ul li dl{
  display:table;
}
main #news_body #nb02 ul li dl dt{
  display:table-cell;
  padding: 0 20px 0 0;
  width: 120px;
  vertical-align: middle;
  box-sizing: border-box;
}
main #news_body #nb02 ul li dl dt span{
  display:block;
  font-size: 12px;
  line-height: 22px;
  padding: 0 0 0 0;
  letter-spacing: 0.5px;
  color: #FFF;
  background: #00332B;
  text-align: center;
  border-radius: 11px;
  font-weight: 600;
}
main #news_body #nb02 ul li dl dd{
  display:table-cell;
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
  color: #1A1A1A;
}
main #news_body #nb02 ul li a{
  display:block;
  padding: 25px 0;
}
main #news_body #nb02 ul li a:hover {
  color: #3876C1;
  text-decoration: none;
}
main #news_body #nb02 ul li a:hover dl dd {
  color: #3876C1;
}

main #bnrarea {
  padding: 0 0 0 80px;
}
main #bnrarea h4{
  display: block;
  font-size: 2.2rem;
  line-height: 35px;
  color: #1A1A1A;
  font-weight: 600;
  margin: 0 0 25px 0;
}
main #bnrarea ul{
  letter-spacing: -.4em; 
  display: block;
}
main #bnrarea ul li{
  letter-spacing: normal; 
  display: inline-block;
  width: 262px;
  background: #FFF;
  border-radius: 1px;
  margin: 5px 4px 0 0;
}
main #bnrarea ul li:nth-of-type(4n){
  margin: 5px 0 0 0;
}
main #bnrarea ul li img{
  width: 100%;
}
main #bnrarea ul li a:hover{
  opacity: 0.7;
}

@media screen and (min-width:768px) and ( max-width:1139px) {

  main #newsarea{
    padding: 60px 6% 60px;
  }
  main #news_body{
    display: table;
    width: 100%;
  }
  main #news_body #nb01{
    display: table-cell;
    vertical-align: top;
    width: 210px;
    box-sizing: border-box;
    padding: 0 45px 0 0;
  }
  main #news_body #nb01 h2{
    display: block;
    color: #00332B;
    margin: 0 0 25px 0;
    text-align: left;
  }
  main #news_body #nb01 h2 strong{
    display: block;
    font-size: 64px;
    line-height: 1.1;
    margin: 0 0 10px 0;
  }
  main #news_body #nb01 h2 .read{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
    margin: 0 0 0 0;
    letter-spacing: -0.5px;
  }
  main #news_body #nb02{
    display: table-cell;
    vertical-align: top;
  }
  main #news_body #nb02 ul{
    display:block;
    border-top: 1px solid #1a1a1a;
  }
  main #news_body #nb02 ul li{
    display:block;
    font-feature-settings: "palt";
    margin: 0 0 0 0;
    border-bottom: 1px solid #1a1a1a;
  }
  main #news_body #nb02 ul li:last-child{
    margin: 0 0 0 0;
  }
  main #news_body #nb02 ul li dl{
    display:table;
  }
  main #news_body #nb02 ul li dl dt{
    display:table-cell;
    padding: 0 20px 0 0;
    width: 120px;
    vertical-align: middle;
    box-sizing: border-box;
  }
  main #news_body #nb02 ul li dl dt span{
    display:block;
    font-size: 12px;
    line-height: 22px;
    padding: 0 0 0 0;
    letter-spacing: 0.5px;
    color: #FFF;
    background: #00332B;
    text-align: center;
    border-radius: 11px;
    font-weight: 600;
  }
  main #news_body #nb02 ul li dl dd{
    display:table-cell;
    font-size: 14px;
    line-height: 22px;
    font-weight: 600;
    color: #1A1A1A;
  }
  main #news_body #nb02 ul li a{
    display:block;
    padding: 25px 0;
  }
  main #news_body #nb02 ul li a:hover {
    color: #3876C1;
    text-decoration: none;
  }
  main #news_body #nb02 ul li a:hover dl dd {
    color: #3876C1;
  }
  
  main #bnrarea {
    padding: 0 0 0 80px;
  }
  main #bnrarea h4{
    display: block;
    font-size: 2.2rem;
    line-height: 35px;
    color: #1A1A1A;
    font-weight: 600;
    margin: 0 0 10px 0;
  }
  main #bnrarea ul{
    letter-spacing: -.4em; 
    display: block;
  }
  main #bnrarea ul li{
    letter-spacing: normal; 
    display: inline-block;
    width: 30%;
    height: 100px;
    background: #FFF;
    box-shadow: 0px 0px 6px 0px rgba(10,10,10,0.43);
    border-radius: 1px;
    margin: 20px 2% 0 0;
  }
  main #bnrarea ul li:nth-of-type(3n){
    margin: 20px 0 0 0;
  }
  main #bnrarea ul li:nth-of-type(4n){
    margin: 20px 2% 0 0;
  }
  main #bnrarea ul li a{
    display: table;
    width: 100%;
    height: 100px;
  }
  main #bnrarea ul li a:hover{
    opacity: 0.7;
  }
  main #bnrarea ul li a span{
    display: table-cell;
    text-align: center;
    vertical-align: middle;
  }
  main #bnrarea ul li a span img{
    max-width: 86%;
  }
  main #bnrarea ul li a span.tate img{
    max-width:none;
    max-height: 70px;
  }
  
}
@media screen and (max-width:767px) {

  /* NEWS */
  main #newsarea{
    padding:60px 6% 60px;
  }
  main #news_body{
    display: block;
    width: 100%;
  }
  main #news_body #nb01{
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 8px 0;
  }
  main #news_body #nb01 h2{
    display: block;
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #news_body #nb01 h2 strong{
    display: block;
    font-size: 40px;
    line-height: 1.1;
    margin: 0 0 10px 0;
  }
  main #news_body #nb01 h2 .read{
    display: block;
    font-size: 1.2rem;
    letter-spacing: -0.5px;
  }
  main #news_body #nb02{
    display: block;
  }
  main #news_body #nb02 ul{
    display:block;
    border-top: 0px;
  }
  main #news_body #nb02 ul li{
    display:block;
    margin: 0 0 15px 0;
    border-bottom:0px;
    background: #E5EDDD;
    padding: 0 6%;
  }
  main #news_body #nb02 ul li:last-child{
    margin: 0 0 0 0;
  }
  main #news_body #nb02 ul li dl{
    display:block;
  }
  main #news_body #nb02 ul li dl dt{
    display:block;
    padding: 0 0 10px 0;
    width: 90px;
    box-sizing: border-box;
  }
  main #news_body #nb02 ul li dl dt span{
    display:block;
    font-size: 10px;
    line-height: 20px;
    border-radius: 11px;
  }
  main #news_body #nb02 ul li dl dd{
    display:block;
    font-size: 12px;
    line-height: 22px;
  }
  main #news_body #nb02 ul li a{
    display:block;
    padding: 20px 0;
  }


  main #bnrarea {
    padding: 0 6% 60px;
  }
  main #bnrarea h4{
    font-size: 1.6rem;
    line-height: 26px;
    margin: 0 0 10px 0;
    text-align: center;
  }
  main #bnrarea ul li{
    letter-spacing: normal; 
    display: inline-block;
    width: 100%;
    margin: 8px 0 0 0;
  }
  main #bnrarea ul li:nth-of-type(4n){
    margin: 8px 0 0 0;
  }
  main #bnrarea ul li a{
    display: block;
    width: 100%;
  }

  }



}


















/* INTERVIEW ／ KNOW HOW */
main #int_kh_bgarea{
  width: 100%;
  background: url(../images/index/int_kh_bg.jpg) no-repeat center 700px #E5EDDD;
  background-size: 100% auto;
  padding: 0 0 0 0;
}

/* INTERVIEW */
main #interview{
  width: 100%;
  background: url(../images/index/interview_bg.png) repeat-y center top;
  background-size: auto 100%;
  margin: 0 0 0 0;
}
main #interview .wrap{
  background: #FFFFFF;
  padding: 70px 0 70px;
}
main #interview .wrap #interview_body{
  width: 100%;
  padding: 0 0 30px 0;
}
main #interview .wrap #interview_body h2{
  display: block;
  color: #043077;
  margin: 0 0 25px 65px;
  text-align: left;
}
main #interview .wrap #interview_body h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 8px 0;
}
main #interview .wrap #interview_body h2 .read{
  color: #043077;
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: -0.5px;
  text-align: left;
}

main #interview #sliderwrap{
  height: 470px;
  position: relative;
  margin: 0 0 0 0;
}
main #interview #sliderwrap #slider{
  position: absolute;
  left:65px ;
  top: 0;
}
main #interview #sliderwrap #slider.slider100{
  width: 150%;
}
main #interview #sliderwrap #slider.slider100 .slick-dots{
  width: 62.8%;
}


main #interview #sliderwrap .ivbox{
  width: 500px;
  margin: 0 60px 0 0;
  background: #E5EDDD;
}
main #interview #sliderwrap .ivbox a{
  display: block;
  outline: none
}
main #interview #sliderwrap .ivbox a:hover{
  text-decoration: none;
}
main #interview #sliderwrap .ivbox a .ivbox_img{
  margin: 0 0 0 0;
  display: block;
}
main #interview #sliderwrap .ivbox a .ivbox_img p {
  overflow: hidden;
}
main #interview #sliderwrap .ivbox a .ivbox_img p img {
  width: 100%;
  height: auto;
  transition: .3s;
}
main #interview #sliderwrap .ivbox a:hover .ivbox_img p img {
  transform: scale(1.05);
}
main #interview #sliderwrap .ivbox .ivbox_img img{
  width: 100%;
}
main #interview #sliderwrap .ivbox .ivbox_imgsp{
  display: none;
}
main #interview #sliderwrap .ivbox .ivbox_body{
  padding: 30px 30px;
}
main #interview #sliderwrap .ivbox .ivbox_body dl{
  display: block;
  margin: 0 0 12px 0;
}
main #interview #sliderwrap .ivbox .ivbox_body dl dt{
  display: inline-block;
  margin: 0 12px 0 0;
  vertical-align: middle;
}
main #interview #sliderwrap .ivbox .ivbox_body dl dt img{
  height: 30px;
}
main #interview #sliderwrap .ivbox .ivbox_body dl dd{
  display: inline-block;
  margin: 0 0 0 0;
  vertical-align: middle;
  font-size: 16px;
  line-height: 30px;
  color: #00332B;
  font-weight: 600;
}
main #interview #sliderwrap .ivbox .ivbox_body p{
  display: block;
  margin: 0 0 12px 0;
  color: #1A1A1A;
  font-size: 14px;
  line-height: 26px;
  font-feature-settings: "palt";
}
main #interview #sliderwrap .ivbox .ivbox_body ul.serviceicon{
  display: block;
  margin: 0 0 0 0;
}
main #interview #sliderwrap .ivbox .ivbox_body ul.serviceicon li{
  display: inline-block;
  margin: 0 10px 0 0;
  color: #FFF;
  background: #043077;
  font-size: 14px;
  line-height: 35px;
  padding: 0 15px 0;
  border-radius: 17.5px;
  font-weight: 600;
}
main #interview #interview_foot .dfbtn01{
  float: right;
}
.slick-dots{
  position: absolute;
  left: 0;
  top: -50px;
  display: block;
  width: 5.3%;
  text-align: right;
}
.slick-dots li{
  display: inline-block;
  margin: 0 0 0 10px;
}
.slick-dots li button{
  display:block;
  width: 40px;
  height: 2px;
  font-size: 0;
  line-height: 0;
  border: 0;
  background: #e8eaef;
  cursor: pointer;
  outline: none;
}
.slick-dots li.slick-active button{
  background: #043077;
}

/* KNOW HOW */
main #knowhow{
  background: url(../images/index/knowhow_bg.png) repeat-y center top;
  background-size: auto 100%;
}
main #knowhow #knowhow_body .wrap{
  background:#FFF;
  padding:70px 73px 100px;
  width: 1125px;
  box-sizing: border-box;
  position: relative;
}
main #knowhow #knowhow_body .wrap h2{
  display: block;
  color: #043077;
  margin: 0 0 40px 0;
  text-align: center;
}
main #knowhow #knowhow_body .wrap h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 8px 0;
}
main #knowhow #knowhow_body .wrap h2 .read{
  color: #043077;
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: -0.5px;
  text-align: center;
}
main #knowhow #knowhow_body .wrap .txt01{
  font-size: 1.6rem;
  line-height: 32px;
  color: #1A1A1A;
  font-feature-settings: "palt";
  margin: 0 0 50px 0;
  text-align: left;
}

main #knowhow #knowhow_body .wrap #knowhowlist{
  width: 100%;
  margin: 0 0 60px 0;
  clear: both;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox01{
  width:480px;
  float: left;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox02{
  width:480px;
  float: right;
}
main #knowhow #knowhow_body .wrap #knowhowlist a{
  display: block;
}
main #knowhow #knowhow_body .wrap #knowhowlist a:hover{
  text-decoration: none;
  opacity: 0.8;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner{
  width: 100%;
  display: table;
  background: #E5EDDD;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01{
  display: table-cell;
  vertical-align: middle;
  padding: 30px 25px 30px 30px;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01 img{
  width: 90px;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02{
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
  font-feature-settings: "palt";
  padding: 0 20px 0 0;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3{
  margin: 0 0 15px 0;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  color: #00332B;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3 span{
  vertical-align: bottom;
}
main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 p{
  margin: 0 0 0 0;
  font-size: 14px;
  line-height: 28px;
  color: #1A1A1A;
}
main #knowhow #knowhow_body .wrap #knowhowbtn{
  margin: 0 0 0 0;
  font-size: 14px;
  line-height: 28px;
  color: #1A1A1A;
}
main #knowhow #knowhow_body .wrap #knowhowbtn .dfbtn01{
  float: right;
}









main #faq{
  background: #ffffff;
  background: -moz-linear-gradient(left,  #ffffff 0%, #E5EDDD 100%);
  background: -webkit-linear-gradient(left,  #ffffff 0%,#E5EDDD 100%);
  background: linear-gradient(to right,  #ffffff 0%,#E5EDDD 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#E5EDDD',GradientType=1 );
}
main #faq_inner{
  margin: 0 0 0 0;
}
main #faq_inner .wrap{
    background:#FFF;
    padding:80px 80px 80px;
    width: 1140px;
    box-sizing: border-box;
    position: relative;
}
main #faq_inner .wrap .txt01{
  font-size: 1.6rem;
  line-height: 32px;
  color: #1A1A1A;
  font-feature-settings: "palt";
  margin: 0 0 60px 0;
  text-align: left;
}

main #flow_top{
  display: table;
  width: 100%;
  height:80px;
}
main #flow_top p{
  display: table-cell;
}
main #flow_top p:nth-of-type(2){
  width: 1125px;
}
main #flow_top p:nth-of-type(3){
  background: #E5EDDD;
}
main #flow_foot{
  display: table;
  width: 100%;
  height:80px;
}
main #flow_foot p{
  display: table-cell;
}
main #flow_foot p:nth-of-type(2){
  width: 1125px;
}
main #flow_foot p:nth-of-type(3){
  background: #E5EDDD;
}





/* FAQ */
main #faq #faq_inner{
    display: table;
    width: 100%;
    background: url(../images/index/faq_bg.jpg) no-repeat right bottom;
    background-size: auto 100% ;
}
main #faq #faq_inner .faq_inner01{
    display: table-row;
    width: 100%;
}
main #faq #faq_inner .faq_inner01 .faq_td01{
    display: table-cell;
    background: #FFF;
}
main #faq #faq_inner .faq_inner01 .faq_td02{
    display: table-cell;
    width: 1125px;
    background: #FFF;
}
main #faq #faq_inner .faq_inner01 .faq_td03{
    display: table-cell;
}
main #faq #faq_inner .faq_inner01 .faq_td04{
    display: table-cell;
    background: #E5EDDD;
    height: 80px;
}
main #faq #faq_inner .faq_inner01 .faq_td05{
    display: table-cell;
}
main #faq #faq_inner .faq_inner01 .faq_td06{
    display: table-cell;
}
main #faq #faq_inner .faq_inner01 h2{
  display: block;
  color: #043077;
  margin: 0 0 50px 65px;
  padding: 80px 0 0 0;
  text-align: left;
}
main #faq #faq_inner .faq_inner01 h2 strong{
  display: block;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0 8px 0;
}
main #faq #faq_inner .faq_inner01 h2 .read{
  color: #043077;
  font-size: 1.6rem;
  line-height: 1.1;
  font-weight: 600;
  margin: 0 0 0 0;
  letter-spacing: -0.5px;
  text-align: left;
}



main #faq #faq_inner .faqbox{
    margin: 0 65px 0;
}
main #faq #faq_inner .faqbox:first-of-type{
    border-top: 1px solid #1a1a1a;
}
main #faq #faq_inner .faqbox .faqbox_q{
    margin: 0 0 0;
    border-bottom: 1px solid #1a1a1a;
    display: table;
    width: 100%;
    position: relative;
    cursor: pointer;
}
main #faq #faq_inner .faqbox .faqbox_q:hover{
    opacity: 0.8;
}
main #faq #faq_inner .faqbox .faqbox_q:after,
main #faq #faq_inner .faqbox .faqbox_q:before {
    display: block;
    content: '';
    background-color: #043077;
    position: absolute;
    width: 18px;
    height: 4px;
    top: 50%;
    right: 15px;
    transform: translate(-50%, -50%);
}
main #faq #faq_inner .faqbox .faqbox_q:before {
    width: 4px;
    height: 18px;
    right: 29px;
}
main #faq #faq_inner .faqbox .faqbox_q.active:before {
    display: none;
}
main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(1){
    display: table-cell;
    padding: 25px 0 25px;
    box-sizing: border-box;
    width: 75px;
    text-align: center;
    font-size: 24px;
    line-height: 26px;
    font-weight: 600;
    vertical-align: top;
    font-family: "Roboto Condensed", sans-serif;
}
main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(2){
    display: table-cell;
    padding: 25px 80px 25px 0;
    font-size: 16px;
    line-height: 26px;
    font-weight: 600;
}
main #faq #faq_inner .faqbox .faqbox_a{
    margin: 0 0 0;
    border-bottom: 1px solid #1a1a1a;
    display: none;
}
main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(1){
    display: table-cell;
    padding: 25px 0 25px;
    box-sizing: border-box;
    width: 75px;
    text-align: center;
    font-size: 24px;
    line-height: 35px;
    font-weight: 600;
    vertical-align: top;
    font-family: "Roboto Condensed", sans-serif;
}
main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(2){
    display: table-cell;
    padding: 25px 0 25px;
    font-size: 16px;
    line-height: 30px;
    color: #1a1a1a;
}

main #faq #faq_inner .faqbox .faqbox_a p .linkbox{
  display: block;
  padding: 10px 0 0 0;
}
main #faq #faq_inner .faqbox .faqbox_a p .linkbox.nomgnt00{
  padding: 0 0 0 0;
}
main #faq #faq_inner .faqbox .faqbox_a p .linkbox a{
  color: #3876C1;
  font-size: 16px;
  line-height: 32px;
  padding: 0 0 0 15px;
  position: relative;
}
main #faq #faq_inner .faqbox .faqbox_a p .linkbox a::before{
  position: absolute;
  top: 7px;
  margin: auto;
  content: "";
  vertical-align: middle;
  left: 0px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #3876c1;
  border-right: 1px solid #3876c1;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


main #faq #faq_foot{
    padding:50px 65px 100px 0;
}
main #faq #faq_foot .dfbtn01{
    float: right;
}






@media screen and (min-width:768px) and ( max-width:1139px) {

  /* INTERVIEW */
  main #interview{
    margin: 0 0 0 0;
  }
  main #interview .wrap{
    padding: 60px 0 60px;
    background: #E5EDDD;
  }
  main #interview .wrap #interview_body h2{
    display: block;
    color: #043077;
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #interview .wrap #interview_body h2 strong{
    display: block;
    font-size: 72px;
    line-height: 1.1;
    margin: 0 0 8px 0;
  }
  main #interview .wrap #interview_body h2 .read{
    color: #043077;
    font-size: 1.6rem;
    line-height: 1.1;
    font-weight: 600;
    margin: 0 0 0 0;
    letter-spacing: -0.5px;
    text-align: center;
  }
  main #interview #sliderwrap .ivbox .ivbox_body{
    padding: 30px 30px;
    background: #FFF;
  }

  main #interview #interview_foot .dfbtn01{
    float: none;
    margin: 0 auto;
  }
  main #interview #sliderwrap #slider.slider100 .slick-dots{
    width: 58%;
    text-align: left;
    padding:5px 0 0 0;
  }
  .slick-dots li button{
    background: #FFF;
  }

  /* KNOW HOW */
  main #knowhow #knowhow_body .wrap{
    padding:60px 40px 60px;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  main #knowhow #knowhow_body .wrap .txt01{
    font-size: 1.6rem;
    line-height: 32px;
    color: #1A1A1A;
    font-feature-settings: "palt";
    margin: 0 0 50px 0;
    text-align: left;
  }

  main #knowhow #knowhow_body .wrap #knowhowlist{
    width: 100%;
    margin: 0 0 60px 0;
    clear: both;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox01{
    width:49%;
    float: left;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox02{
    width:49%;
    float: right;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist a{
    display: block;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist a:hover{
    text-decoration: none;
    opacity: 0.8;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner{
    width: 100%;
    display: table;
    background: #E5EDDD;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01{
    display: table-cell;
    vertical-align: middle;
    padding: 30px 25px 30px 30px;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01 img{
    width: 90px;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02{
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box;
    font-feature-settings: "palt";
    padding: 20px 20px 20px 0;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3{
    margin: 0 0 15px 0;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    color: #00332B;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3 span{
    vertical-align: bottom;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 p{
    margin: 0 0 0 0;
    font-size: 14px;
    line-height: 28px;
    color: #1A1A1A;
  }
  main #knowhow #knowhow_body .wrap #knowhowbtn{
    margin: 0 0 0 0;
    font-size: 14px;
    line-height: 28px;
    color: #1A1A1A;
  }
  main #knowhow #knowhow_body .wrap #knowhowbtn .dfbtn01{
    float: none;
    margin: 0 auto;
  }

  main #flow_top{ display: none;}
  main #flow_foot{ display: none;}


  main #faq_inner{
    background: url(../images/index/flow_bg03.png) no-repeat center center;
    margin: 0 0 0 0;
  }
  main #faq_inner .wrap{
      background:#FFF;
      padding:80px 80px 80px;
      width: 1140px;
      box-sizing: border-box;
      position: relative;
  }
  main #faq_inner .wrap h2{
      color: #043077;
      font-size: 72px;
      line-height: 1.1;
      margin: 0 0 8px 0;
      text-align: left;
  }
  main #faq_inner .wrap .read{
      color: #043077;
      font-size: 1.6rem;
      line-height: 1.1;
      font-weight: 600;
      margin: 0 0 40px 0;
      letter-spacing: -0.5px;
      text-align: left;
  }
  main #faq_inner .wrap .txt01{
    font-size: 1.6rem;
    line-height: 32px;
    color: #1A1A1A;
    font-feature-settings: "palt";
    margin: 0 0 60px 0;
    text-align: left;
  }

  /* FAQ */
  main #faq #faq_inner{
      display: table;
      width: 100%;
      background: url(../images/index/faq_bg.jpg) no-repeat right bottom;
      background-size: auto 100% ;
  }
  main #faq #faq_inner .faq_inner01{
      display: table-row;
      width: 100%;
  }
  main #faq #faq_inner .faq_inner01 .faq_td01{
      display: table-cell;
      background: #E5EDDD;
    }
  main #faq #faq_inner .faq_inner01 .faq_td02{
      display: table-cell;
      width: 100%;
      background: #E5EDDD;
    }
  main #faq #faq_inner .faq_inner01 .faq_td03{
      display: table-cell;
  }
  main #faq #faq_inner .faq_inner01 .faq_td04{
      display: table-cell;
      background: #E5EDDD;
      height: 80px;
  }
  main #faq #faq_inner .faq_inner01 .faq_td05{
      display: table-cell;
  }
  main #faq #faq_inner .faq_inner01 .faq_td06{
      display: table-cell;
  }
  main #faq #faq_inner .faq_inner01 h2{
      color: #043077;
      font-size: 72px;
      line-height: 1.1;
      margin: 0 0 8px 0;
      padding:80px 0 0 0;
      text-align: center;
  }
  main #faq #faq_inner .faq_inner01 .read{
      color: #043077;
      font-size: 1.6rem;
      line-height: 1.1;
      font-weight: 600;
      margin: 0 0 50px 0;
      letter-spacing: -0.5px;
      text-align: center;
  }
  main #faq #faq_inner .faqbox{
      margin: 0 5% 0;
  }
  main #faq #faq_inner .faqbox:first-of-type{
      border-top: 1px solid #1a1a1a;
  }
  main #faq #faq_inner .faqbox .faqbox_q{
      margin: 0 0 0;
      border-bottom: 1px solid #1a1a1a;
      display: table;
      width: 100%;
      position: relative;
      cursor: pointer;
  }
  main #faq #faq_inner .faqbox .faqbox_q:hover{
      opacity: 0.8;
  }
  main #faq #faq_inner .faqbox .faqbox_q:after,
  main #faq #faq_inner .faqbox .faqbox_q:before {
      display: block;
      content: '';
      background-color: #043077;
      position: absolute;
      width: 18px;
      height: 4px;
      top: 50%;
      right: 15px;
      transform: translate(-50%, -50%);
  }
  main #faq #faq_inner .faqbox .faqbox_q:before {
      width: 4px;
      height: 18px;
      right: 29px;
  }
  main #faq #faq_inner .faqbox .faqbox_q.active:before {
      display: none;
  }
  main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(1){
      display: table-cell;
      padding: 25px 0 25px;
      box-sizing: border-box;
      width: 75px;
      text-align: center;
      font-size: 24px;
      line-height: 26px;
      font-weight: 600;
      vertical-align: top;
      font-family: "Roboto Condensed", sans-serif;
  }
  main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(2){
      display: table-cell;
      padding: 25px 80px 25px 0;
      font-size: 16px;
      line-height: 26px;
      font-weight: 600;
  }
  main #faq #faq_inner .faqbox .faqbox_a{
      margin: 0 0 0;
      border-bottom: 1px solid #1a1a1a;
      display: none;
  }
  main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(1){
      display: table-cell;
      padding: 25px 0 25px;
      box-sizing: border-box;
      width: 75px;
      text-align: center;
      font-size: 24px;
      line-height: 35px;
      font-weight: 600;
      vertical-align: top;
      font-family: "Roboto Condensed", sans-serif;
  }
  main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(2){
      display: table-cell;
      padding: 25px 0 25px;
      font-size: 16px;
      line-height: 30px;
      color: #1a1a1a;
  }
  main #faq #faq_foot{
      padding:50px 5% 60px 0;
  }
  main #faq #faq_foot .dfbtn01{
      float: none;
      margin: 0 auto;
  }


  main #faq #faq_inner .stepbox{
    padding: 0 5% 0;
  }
  main #faq #faq_inner .stepbox02{
    display: block;
    height: auto;
    margin: 0 0 10px 0;
    background: url(../images/index/flow_stepbg08.png) no-repeat center 20px #E5EDDD;
    background-size: auto 90px;
    padding:140px 0 30px 0;
  }
  main #faq #faq_inner .stepbox02 dl{
    display: block;
    width: 100%;
    margin: 0 0 15px 0;
  }
  main #faq #faq_inner .stepbox02 dl dt{
    font-size: 16px;
    text-align: center;
    color: #043077;
    font-weight: 600;
    margin: 0 0 15px 0;
  }
  main #faq #faq_inner .stepbox02 dl dd{
    font-size: 14px;
    line-height: 26px;
    padding: 0 0 0 0;
    text-align: center;
  }
  main #faq #faq_inner .stepbox02 dl dd br{
    display: none;
  }
  main #faq #faq_inner .stepbox02 .stepbox02btn{
    display: block;
    text-align: center;
    vertical-align: middle;
  }
  main #faq #faq_inner .stepbox02 .stepbox02btn .dfbtn01{
    margin: 0 auto;
  }

  main #flow_foot01{
    background: #E5EDDD;
    padding: 0 0 0 0;
    width: 100%;
  }
  main #flow_foot01 #flow_foot01_inner{
    background: url(../images/index/flow_bg03.png) no-repeat center bottom;
  }
  main #flow_foot01 #flow_foot01_inner p{
    background: #FFF;
    height: 60px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width:767px) {
  main #interview{
    background:none;
  }
  main #interview .wrap{
      background: #E5EDDD;
      padding:50px 0 60px;
      box-sizing: border-box;
      width: 100%;
  }
  main #interview .wrap #interview_body{
      width: 100%;
      padding: 0 0 30px 0;
  }
  main #interview .wrap #interview_body h2{
    display: block;
    color: #043077;
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #interview .wrap #interview_body h2 strong{
    display: block;
    font-size: 40px;
    margin: 0 0 10px 0;
  }
  main #interview .wrap #interview_body h2 .read{
    color: #043077;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 600;
    margin: 0 0 0 0;
    letter-spacing: -0.5px;
    text-align: center;
  }
  main #interview #sliderwrap .ivbox{
      width: 295px;
      margin: 0 8px 0;
      background: #FFF;
  }
  main #interview #sliderwrap .ivbox .ivbox_imgsp{
      display: block;
  }
  main #interview #sliderwrap .ivbox .ivbox_imgsp img{
      width: 100%;
  }

  main #interview #sliderwrap .ivbox a .ivbox_img{
      display: none;
  }

  main #interview #sliderwrap .ivbox .ivbox_body{
      padding: 20px 6%;
      background: #FFF;
  }
  main #interview #sliderwrap .ivbox .ivbox_body dl{
    display: block;
    margin: 0 0 10px 0;
  }
  main #interview #sliderwrap .ivbox .ivbox_body dl.noicon{
    padding:27px 0 0 0;
  }
  main #interview #sliderwrap .ivbox .ivbox_body dl dt{
      display: block;
      text-align: center;
      margin: 0 0 10px 0;
      vertical-align: middle;
  }
  main #interview #sliderwrap .ivbox .ivbox_body dl dt img{
      height: 30px;
      display: inline;
  }
  main #interview #sliderwrap .ivbox .ivbox_body dl dd{
      display: block;
      font-size: 14px;
      font-weight: 600;
      text-align: center;
  }
  main #interview #sliderwrap .ivbox .ivbox_body p{
      display: block;
      margin: 0 0 12px 0;
      font-size: 12px;
      line-height: 24px;
  }
  main #interview #sliderwrap .ivbox .ivbox_body ul.serviceicon{
      display: block;
      margin: 0 0 0 0;
  }
  main #interview #sliderwrap .ivbox .ivbox_body ul.serviceicon li{
      display: inline-block;
      margin: 0 10px 3px 0;
      line-height: 27px;
      padding: 0 15px 0;
      border-radius: 13.5px;
      font-size: 10px;
  }
  main #interview #interview_foot{
    padding: 0 6%;
  }
  main #interview #interview_foot .dfbtn01{
    float: none;
    margin: 0 auto;
    width: 100%;
  }
  main #interview #sliderwrap{
      height: auto;
      margin: 0 0 40px 0;
  }
  main #interview #sliderwrap #slider{
      position: static;
  }
  .slick-dots{
      position: absolute;
      left: 0;
      top: -40px;
      display: block;
      width:100%;
      text-align: center;
  }
  .slick-dots li{
      display: inline-block;
      margin: 0 5px 0 5px;
  }
  .slick-dots li button{
      display:block;
      width: 40px;
      height: 2px;
      font-size: 0;
      line-height: 0;
      border: 0;
      background: #FFF;
  }
  .slick-dots li.slick-active button{
      background: #142C4D;
  }

  main #interview #sliderwrap #slider.slider100{
    width: 100%;
  }
  main #interview #sliderwrap #slider.slider100 .slick-dots{
    width: 100%;
  }


  /* KNOW HOW */
  main #knowhow #knowhow_body .wrap{
    background:#FFF;
    padding:55px 6% 60px;
    width: 100%;
  }
  main #knowhow #knowhow_body .wrap h2{
    display: block;
    color: #043077;
    margin: 0 0 25px 0;
    text-align: center;
  }
  main #knowhow #knowhow_body .wrap h2 strong{
    display: block;
    font-size: 40px;
    margin: 0 0 10px 0;
  }
  main #knowhow #knowhow_body .wrap h2 .read{
    color: #043077;
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 0 0;
    text-align: center;
  }
  main #knowhow #knowhow_body .wrap .txt01{
    font-size: 1.4rem;
    line-height: 26px;
    margin: 0 0 30px 0;
  }

  main #knowhow #knowhow_body .wrap #knowhowlist{
    width: 100%;
    margin: 0 0 40px 0;
    clear: both;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox01{
    width:100%;
    float: none;
    margin: 0 0 20px 0;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox02{
    width:100%;
    float: none;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist a{
    display: block;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner{
    width: 100%;
    display: block;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01{
    display: block;
    padding: 30px 6% 20px;
    text-align: center;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb01 img{
    width: 110px;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02{
    display: block;
    padding: 0 6% 30px;
    display:-webkit-box; display: -webkit-flex; display:-ms-flexbox; display: flex; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3{
    margin: 0 0 0 0;
    font-size: 14px;
    line-height: 22px;
    font-weight: 600;
    color: #00332B;
    background: #FFF;
    display: block;
    width: 100%;
    text-align: center;
    -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    position: relative;
    padding:15px 2% 15px 0;

  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 h3 span{
    position: absolute;
    right: 2%;
    top: 35%;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox02 .knowhowbox_inner .khb02 h3 span{
    position: absolute;
    right: 2%;
    top: 25%;
  }
  main #knowhow #knowhow_body .wrap #knowhowlist .knowhowbox_inner .khb02 p{
    margin: 0 0 20px 0;
    font-size: 14px;
    line-height: 24px;
    -webkit-box-ordinal-group:1; -ms-flex-order:1; -webkit-order:1; order:1;
  }
  main #knowhow #knowhow_body .wrap #knowhowbtn{
    margin: 0 0 0 0;
    font-size: 14px;
    line-height: 28px;
    color: #1A1A1A;
  }
  main #knowhow #knowhow_body .wrap #knowhowbtn .dfbtn01{
    float: none;
    margin: 0 auto;
    width: 100%;
  }

  main #flow_top{ display: none;}
  main #flow_foot{ display: none;}



  /* FAQ */
  main #faq #faq_inner{
      display: table;
      width: 100%;
      background: url(../images/index/faq_bg.jpg) no-repeat right bottom;
      background-size: auto 100% ;
  }
  main #faq #faq_inner .faq_inner01{
      display: table-row;
      width: 100%;
  }
  main #faq #faq_inner .faq_inner01 .faq_td01{
      display: none;
  }
  main #faq #faq_inner .faq_inner01 .faq_td02{
      display: table-cell;
      width: 100%;
      background: #E5EDDD;
      padding: 0 0 60px 0;
    }
  main #faq #faq_inner .faq_inner01 .faq_td03{
      display: none;
  }
  main #faq #faq_inner .faq_inner01 .faq_td04{
      display: table-cell;
      background: #E5EDDD;
      height: 80px;
  }
  main #faq #faq_inner .faq_inner01 .faq_td05{
      display: table-cell;
  }
  main #faq #faq_inner .faq_inner01 .faq_td06{
      display: table-cell;
  }
  main #faq #faq_inner .faq_inner01 h2{
    display: block;
    color: #043077;
    margin: 0 0 30px 0;
    text-align: center;
    padding:50px 0 0 0;
  }
  main #faq #faq_inner .faq_inner01 h2 strong{
    display: block;
    font-size: 40px;
    margin: 0 0 8px 0;
  }
  main #faq #faq_inner .faq_inner01 h2 .read{
    color: #043077;
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 0 0;
    text-align: center;
  }


  main #faq #faq_inner .faqbox{
    margin: 0 6% 0;
  }
  main #faq #faq_inner .faqbox .faqbox_q{
      margin: 0 0 0;
      padding: 0 40px 0 0;
      box-sizing: border-box;

  }
  main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(1){
      padding: 31px 3px 30px;
      width: 30px;
      text-align: left;
      font-size: 20px;
      line-height: 26px;
      vertical-align: top;
      color: #00332B;
  }
  main #faq #faq_inner .faqbox .faqbox_q p:nth-of-type(2){
      padding: 33px 0 30px;
      font-size: 14px;
      line-height: 26px;
      vertical-align: top;
      color: #00332B;
      font-weight: 600;
    }
  main #faq #faq_inner .faqbox .faqbox_q:after,
  main #faq #faq_inner .faqbox .faqbox_q:before {
      width: 12px;
      height: 2px;
      top: 50%;
      right: 0;
      transform: translate(-50%, -50%);
  }
  main #faq #faq_inner .faqbox .faqbox_q:before {
      width: 2px;
      height: 12px;
      right: 10px;
  }
  main #faq #faq_inner .faqbox .faqbox_q.active:before {
      display: none;
  }
  main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(1){
      padding: 31px 3px 30px;
      width: 30px;
      text-align: left;
      font-size: 20px;
      line-height: 25px;
      vertical-align: top;
  }
  main #faq #faq_inner .faqbox .faqbox_a p:nth-of-type(2){
      padding: 33px 0 30px;
      font-size: 14px;
      line-height: 26px;
      vertical-align: top;
  }
  main #faq #faq_foot{
    padding:40px 0 0 0;
    margin:0 4%;
    margin: 0 0 0 0;
  }
  main #faq #faq_foot .dfbtn01{
      float: none;
      margin: 0 auto;
  }
  main #flow_foot01{
    display: none;
  }

}





/* 20240719 追加 */
.scroll-fade{
    opacity: 0;
    transform: translateY(50px);
    transition: .8s;
}
.scroll-fade.fade-in{
    opacity: 1;
    transform: translateY(0);
}

main #bnrarea .txt01 {
  font-size: 1.6rem;
  line-height: 32px;
  color: #1A1A1A;
  margin: 0 0 30px 0;
  text-align: left;
}
.portal_list {
  clear: both;
  padding:10px 0 0 0;
  width: 80%;
  margin: 0 auto;
}
.portal_list .portal_listbox{
  width: 49%;
  float: left;
  margin: 0 2% 0 0;
}
.portal_list .portal_listbox:nth-of-type(2){
  margin: 0 0 0 0;
}
.portal_list .portal_listbox a{
  display: block;
}
.portal_list .portal_listbox a:hover{
  text-decoration: none;
  opacity: 0.8;
}
.portal_list .portal_listbox a p{
  margin: 0 0 0 0;
  display: block;
  overflow: hidden;
  height: 100px;
}
.portal_list .portal_listbox a p img{
  width: 100%;
  height: auto;
  transition: .3s;
}
.portal_list .portal_listbox a:hover p img {
  transform: scale(1.05);
}

.portal_list .portal_listbox a dl{
  display: block;
  padding: 30px 20px;
}
.portal_list .portal_listbox a dl dt{
  display: inline-block;
  font-size: 16px;
  line-height:24px;
  font-weight: 600;
  position: relative;
  color: #00332B;
  margin: 0 0 10px;
  width: 78%;
}
.portal_list .portal_listbox a dl dt::after {
  position: absolute;
  top: 20%;
  margin: auto;
  content: "";
  vertical-align: middle;
  right: -15px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #00332B;
  border-right: 1px solid #00332B;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.portal_list .portal_listbox a dl dd{
  font-size: 14px;
  line-height: 24px;
  color: #1A1A1A;
}
@media screen and (min-width:768px) and ( max-width:1139px) {
  main {
    overflow-x: hidden;
  }
  main #bnrarea {
    width: 100%;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 32px;
    color: #1A1A1A;
    margin: 0 0 30px 0;
    text-align: left;
    padding: 0 4%;
  }
  .portal_list .portal_listbox{
    display: block;
    width: 100%;
    float: none;
    margin: 0 0 15px 0;
  }
  .portal_list .portal_listbox:nth-of-type(2n){
    margin: 0 0 0px 0;
  }
  .portal_list .portal_listbox:nth-last-child(1){
    margin: 0 0 15px 0;
  }

}
@media screen and (max-width:767px) {
  .portal_list {
    padding:0px 0 0 0;
    width: 100%;
  }
  .portal_list .portal_listbox{
    width: 100%;
    float: none;
    background: #E5EDDD;
    margin: 0 0 20px 0;
  }
  .portal_list .portal_listbox:nth-last-child(1){
    margin: 0 0 0 0;
  }
  .portal_list .portal_listbox a{
    display: block;
  }
  .portal_list .portal_listbox a p{
    height: auto;
  }
  .portal_list .portal_listbox a p img{
    width: 100%;
    height: auto;
    transition: .3s;
  }
  .portal_list .portal_listbox a:hover p img {
    transform: scale(1);
  }

  .portal_list .portal_listbox a dl{
    display: block;
    padding: 25px 20px;
  }
  .portal_list .portal_listbox a dl dt{
    font-size: 16px;
    margin: 0 0 10px;
    width: 90%;
}
  .portal_list .portal_listbox a dl dt::after {
    position: absolute;
    top: 20%;
    margin: auto;
    right: -14px;
    width: 7px;
    height: 7px;
    border-top: 2px solid #00332B;
    border-right: 2px solid #00332B;
  }
  .portal_list .portal_listbox a dl dd{
    font-size: 12px;
    line-height: 22px;
  }

}
