.mainVisual {
  height: 42vw;
  background: url(../images/mv_index01.jpg) no-repeat top center;
  background-size: 100% auto;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .mainVisual {
    height: 125vw;
    background: url(../images/mv_index01_sp.jpg) no-repeat top center;
    background-size: cover;
  }
}

@media screen and (max-width: 450px) {
  .mainVisual {
    height: 150vw;
  }
}

.mainVisual h1 {
  line-height: 0;
  padding-top: 16px;
}

@media screen and (max-width: 767px) {
  .mainVisual h1 {
    padding-top: 8px;
  }
}

.mainVisual h1 img {
  max-width: 250px;
}

@media screen and (max-width: 1000px) {
  .mainVisual h1 img {
    max-width: 200px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual h1 img {
    max-width: 115px;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual h1 img {
    max-width: 160px;
  }
}

@media screen and (max-width: 450px) {
  .mainVisual h1 img {
    max-width: 120px;
  }
}

.mainVisual .container04 {
  width: 94%;
  margin: auto;
  position: relative;
}

.mainVisual .campaignBtn01 {
  line-height: 0;
  position: fixed;
  top: 0;
  right: 3%;
  z-index: 50;
}

.mainVisual .campaignBtn01 img {
  max-width: 225px;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .mainVisual .campaignBtn01 img {
    max-width: 200px;
  }
}

@media screen and (max-width: 1050px) {
  .mainVisual .campaignBtn01 img {
    max-width: 150px;
  }
}

@media screen and (max-width: 800px) {
  .mainVisual .campaignBtn01 img {
    max-width: 136px;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .campaignBtn01 img {
    max-width: 150px;
  }
}

.mainVisual .campaignBtn01 a {
  text-align: center;
  width: 280px;
  padding: 16px 0;
  background: #0dd3b6;
  border-radius: 0 0 8px 8px;
  position: relative;
  display: block;
}

@media screen and (max-width: 1200px) {
  .mainVisual .campaignBtn01 a {
    max-width: 250px;
  }
}

@media screen and (max-width: 1050px) {
  .mainVisual .campaignBtn01 a {
    max-width: 200px;
  }
}

@media screen and (max-width: 800px) {
  .mainVisual .campaignBtn01 a {
    width: 160px;
    padding: 8px 0;
  }
}

.mainVisual .campaignBtn01 a:before {
  content: '';
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#a4d60b), to(#0dd3b6));
  background: -webkit-linear-gradient(left, #a4d60b, #0dd3b6);
  background: -o-linear-gradient(left, #a4d60b, #0dd3b6);
  background: linear-gradient(90deg, #a4d60b, #0dd3b6);
  border-radius: 0 0 8px 8px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.3;
}

.mainVisual .textBox01 {
  width: 48vw;
  /*width: 42vw;*/
  position: absolute;
  top: 16%;
  left: 5%;
}

@media screen and (max-width: 900px) {
  .mainVisual .textBox01 {
    top: 20%;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .textBox01 {
    width: 42vw;
    position: absolute;
    left: -20px;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .textBox01 {
    width: 100%;
    position: static;
  }
}

.mainVisual .textBox01 .text01 {
  margin-left: 14%;
}

@media screen and (max-width: 767px) {
  .mainVisual .textBox01 .text01 {
    margin-left: 0;
    position: absolute;
    bottom: 0;
  }
}

.mainVisual .textBox01 .text01 img {
  width: 33vw;
}

@media screen and (max-width: 1150px) {
  .mainVisual .textBox01 .text01 img {
    width: 30vw;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .textBox01 .text01 img {
    width: 100vw;
  }
}

.mainVisual .copy01 {
  position: relative;
}

@media screen and (max-width: 767px) {
  .mainVisual .copy01 {
    top: 40px;
  }
}

@media screen and (max-width: 400px) {
  .mainVisual .copy01 {
    top: 30px;
  }
}

.mainVisual .copy01 img {
  max-width: 48vw;
}

@media screen and (max-width: 1150px) {
  .mainVisual .copy01 img {
    max-width: 44vw;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .copy01 img {
    max-width: 88vw;
    position: absolute;
    top: 25px;
    left: -5%;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .copy01 img {
    top: 15px;
  }
}

@media screen and (max-width: 450px) {
  .mainVisual .copy01 img {
    top: 35px;
  }
}

@font-face {
  font-family: 'Roboto';
  src: url("../font/Roboto/Roboto-Regular.ttf");
}
.line_box {
  position: relative;
  background-color: #06C755;
  width: 100%;
  padding: 16px 0 24px 0;
  margin-bottom: 47px;
  font-family: 'Roboto';
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
.line_box .mainText{
  font-size: 64px;
}
.line_box .subText{
  font-size: 30px;
}
.line_box .banner{
  width: 100%;
  max-width: 383px;
  height: 100px;
  background-image: url("../images/line_banner02.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin: 16px auto;
}
.line_box .message{
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .line_box {
    margin-bottom: 13px;
    padding: 8px 0 16px 0;
  }
  .line_box .mainText{
    font-size: 32px;
  }
  .line_box .subText{
    font-size: 24px;
  }
  .line_box .banner{
    margin: 8px auto;
    max-width: 283px;
  }
  .line_box .message{
    font-size: 16px;
  }
}

.mainVisual .btnBox {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  margin-top: 40px;
}

.mainVisual .btn02 {
  max-height: 88px;
  width: 340px;
  margin-left: 10px;
}

.mainVisual .btn01 {
  line-height: 0;
  width: 500px;
}

@media screen and (max-width: 767px) {
  .mainVisual .btn01 {
    width: 64vw;
    margin: auto;
    position: absolute;
    bottom: 18%;
    left: 0;
    right: 0;
  }
  .mainVisual .btn02 {
    width: 64vw;
    margin: auto;
    position: absolute;
    bottom: 3%;
    left: 0;
    right: 0;
  }
}

@media screen and (max-width: 400px) {
  .mainVisual .btn01 {
    bottom: 13%;
  }
  .mainVisual .btn02 {
    bottom: 0;
    height: 55px;
  }
}

.mainVisual .btn01 a {
  max-width: 26vw;
  width: 100%;
  margin: auto;
  padding: 20px 0;
}

.mainVisual .btn01 a:hover img {
  max-width: 10.5vw;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 768px) {
  .mainVisual .btn01 a {
    max-width: 40vw;
    margin: 0 0 0 58px;
  }
  .mainVisual .btn01 a:hover img {
    max-width: 16vw;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .btn01 a {
    max-width: 64vw;
    margin: auto;
  }
  .mainVisual .btn01 a:hover img {
    max-width: 31vw;
  }
}

.mainVisual .btn01 img {
  max-width: 10vw;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 768px) {
  .mainVisual .btn01 img {
    max-width: 15vw;
  }
}

@media screen and (max-width: 767px) {
  .mainVisual .btn01 img {
    max-width: 30vw;
  }
}

.textArea01 {
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .textArea01 {
    margin-bottom: 80px;
  }
}

.textArea01 p {
  max-width: 685px;
  width: 100%;
  margin: auto;
}

.troubleArea01 h2 {
  line-height: 0;
  padding: 42px 15px 50px;
  background: #152d83;
}

@media screen and (max-width: 768px) {
  .troubleArea01 h2 {
    padding: 33px 15px 40px;
  }
}

@media screen and (max-width: 767px) {
  .troubleArea01 h2 {
    padding: 40px 0;
  }
}

.troubleArea01 h2 img {
  max-width: 812px;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .troubleArea01 h2 img {
    max-width: 650px;
  }
}

@media screen and (max-width: 767px) {
  .troubleArea01 h2 img {
    max-width: 272px;
  }
}

.troubleArea01 .troubleImg01 {
  padding-top: 80px;
  background: url(../images/bg_index01.png) no-repeat center bottom;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .troubleArea01 .troubleImg01 {
    padding-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .troubleArea01 .troubleImg01 {
    padding-top: 40px;
  }
}

.troubleArea01 .container {
  max-width: 1200px;
}

.troubleArea01 p {
  line-height: 0;
}

.troubleArea01 p img {
  max-width: 1120px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .troubleArea01 p img {
    max-width: 705px;
  }
}

.meritArea01 {
  font-size: 16px;
  max-width: 1440px;
  width: 100%;
  margin: auto;
  padding: 90px 0 30px;
}

@media screen and (max-width: 768px) {
  .meritArea01 {
    padding: 60px 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 {
    font-size: 14px;
    padding: 60px 0;
  }
}

.meritArea01 h2 {
  line-height: 0;
  margin-bottom: 90px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .meritArea01 h2 {
    margin-bottom: 60px;
  }
}

.meritArea01 h2 img {
  max-width: 440px;
}

@media screen and (max-width: 900px) {
  .meritArea01 h2 img {
    max-width: 300px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 h2 img {
    max-width: 250px;
  }
}

.meritArea01 h2 span {
  position: absolute;
  right: 0;
  bottom: -50px;
}

@media screen and (max-width: 767px) {
  .meritArea01 h2 span {
    bottom: 0;
  }
}

.meritArea01 h2 span img {
  max-width: 310px;
}

@media screen and (max-width: 767px) {
  .meritArea01 h2 span img {
    max-width: 130px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 .height40 img {
    max-height: 40px;
  }
}

.meritArea01 .pic01 {
  line-height: 0;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
  position: absolute;
}

@media screen and (max-width: 767px) {
  .meritArea01 .pic01 {
    margin: 0 45px;
    position: static;
  }
}

.meritArea01 .textBox01 {
  padding-top: 60px;
}

@media screen and (max-width: 767px) {
  .meritArea01 .textBox01 {
    padding-top: 0;
  }
}

.meritArea01 .textBox01 p {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .meritArea01 .textBox01 p {
    margin: 15px 0 20px;
  }
}

.meritArea01 .no01 img {
  max-width: 360px;
}

@media screen and (max-width: 1050px) {
  .meritArea01 .no01 img {
    max-width: 310px;
  }
}

@media screen and (max-width: 950px) {
  .meritArea01 .no01 img {
    max-width: 260px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 .no01 img {
    max-width: 240px;
    width: 100%;
  }
}

.meritArea01 .no02 img {
  max-width: 500px;
}

@media screen and (max-width: 1050px) {
  .meritArea01 .no02 img {
    max-width: 450px;
  }
}

@media screen and (max-width: 950px) {
  .meritArea01 .no02 img {
    max-width: 350px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 .no02 img {
    max-width: 375px;
    width: 100%;
  }
}

.meritArea01 .no03 img {
  max-width: 400px;
}

@media screen and (max-width: 1050px) {
  .meritArea01 .no03 img {
    max-width: 350px;
  }
}

@media screen and (max-width: 950px) {
  .meritArea01 .no03 img {
    max-width: 300px;
  }
}

@media screen and (max-width: 767px) {
  .meritArea01 .no03 img {
    max-width: 342px;
    width: 100%;
  }
}

.merit01 {
  height: 375px;
  margin: 60px 0;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 900px) {
  .merit01 {
    height: 320px;
  }
}

@media screen and (max-width: 768px) {
  .merit01 {
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  .merit01 {
    height: auto;
    margin: 40px 0 0;
  }
}

.merit01 .textBox01 {
  width: 500px;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 1100px) {
  .merit01 .textBox01 {
    width: 450px;
  }
}

@media screen and (max-width: 1000px) {
  .merit01 .textBox01 {
    width: 400px;
  }
}

@media screen and (max-width: 950px) {
  .merit01 .textBox01 {
    width: 350px;
  }
}

@media screen and (max-width: 767px) {
  .merit01 .textBox01 {
    width: 100%;
  }
}

.merit01 .pic01 {
  top: 0;
  left: 0;
}

@media screen and (max-width: 1400px) {
  .merit01 .pic01 {
    left: -5%;
  }
}

@media screen and (max-width: 1250px) {
  .merit01 .pic01 {
    left: -10%;
  }
}

@media screen and (max-width: 1150px) {
  .merit01 .pic01 {
    left: -15%;
  }
}

@media screen and (max-width: 1050px) {
  .merit01 .pic01 {
    left: -20%;
  }
}

@media screen and (max-width: 950px) {
  .merit01 .pic01 {
    left: -25%;
  }
}

@media screen and (max-width: 800px) {
  .merit01 .pic01 {
    left: -28%;
  }
}

@media screen and (max-width: 768px) {
  .merit01 .pic01 {
    left: -31%;
  }
}

.merit01 .pic01 img {
  max-width: 700px;
}

@media screen and (max-width: 900px) {
  .merit01 .pic01 img {
    max-width: 600px;
  }
}

@media screen and (max-width: 767px) {
  .merit01 .pic01 img {
    max-width: 100%;
  }
}

.merit02 {
  height: 375px;
  margin: 60px 0;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 900px) {
  .merit02 {
    height: 320px;
  }
}

@media screen and (max-width: 768px) {
  .merit02 {
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  .merit02 {
    height: auto;
    margin: 40px 0;
  }
}

.merit02 .textBox01 {
  width: 500px;
}

@media screen and (max-width: 1100px) {
  .merit02 .textBox01 {
    width: 450px;
  }
}

@media screen and (max-width: 1000px) {
  .merit02 .textBox01 {
    width: 400px;
  }
}

@media screen and (max-width: 950px) {
  .merit02 .textBox01 {
    width: 350px;
  }
}

@media screen and (max-width: 767px) {
  .merit02 .textBox01 {
    width: 100%;
  }
}

.merit02 .pic01 {
  top: 0;
  right: 0;
}

@media screen and (max-width: 1400px) {
  .merit02 .pic01 {
    right: -5%;
  }
}

@media screen and (max-width: 1250px) {
  .merit02 .pic01 {
    right: -10%;
  }
}

@media screen and (max-width: 1150px) {
  .merit02 .pic01 {
    right: -15%;
  }
}

@media screen and (max-width: 1050px) {
  .merit02 .pic01 {
    right: -22%;
  }
}

@media screen and (max-width: 1000px) {
  .merit02 .pic01 {
    right: -25%;
  }
}

@media screen and (max-width: 950px) {
  .merit02 .pic01 {
    right: -30%;
  }
}

@media screen and (max-width: 768px) {
  .merit02 .pic01 {
    right: -35%;
  }
}

.merit02 .pic01 img {
  max-width: 700px;
}

@media screen and (max-width: 900px) {
  .merit02 .pic01 img {
    max-width: 600px;
  }
}

@media screen and (max-width: 767px) {
  .merit02 .pic01 img {
    max-width: 100%;
  }
}

.voiceArea01 {
  padding: 50px 0 70px;
  background: -webkit-linear-gradient(top, #0dd3b6 0%, #0dd3b6 360px, #f0f9ff 360px, #f0f9ff 100%);
  background: -o-linear-gradient(top, #0dd3b6 0%, #0dd3b6 360px, #f0f9ff 360px, #f0f9ff 100%);
  background: linear-gradient(180deg, #0dd3b6 0%, #0dd3b6 360px, #f0f9ff 360px, #f0f9ff 100%);
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .voiceArea01 {
    padding: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  .voiceArea01 {
    padding: 60px 0;
    background: -webkit-linear-gradient(top, #0dd3b6 0%, #0dd3b6 350px, #f0f9ff 350px, #f0f9ff 100%);
    background: -o-linear-gradient(top, #0dd3b6 0%, #0dd3b6 350px, #f0f9ff 350px, #f0f9ff 100%);
    background: linear-gradient(180deg, #0dd3b6 0%, #0dd3b6 350px, #f0f9ff 350px, #f0f9ff 100%);
  }
}

.voiceArea01:before {
  content: '';
  width: 100%;
  height: 360px;
  background: -webkit-gradient(linear, left top, right top, from(#a4d60b), to(#0dd3b6));
  background: -webkit-linear-gradient(left, #a4d60b, #0dd3b6);
  background: -o-linear-gradient(left, #a4d60b, #0dd3b6);
  background: linear-gradient(90deg, #a4d60b, #0dd3b6);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.3;
}

@media screen and (max-width: 767px) {
  .voiceArea01:before {
    height: 350px;
  }
}

.voiceArea01 h2 {
  line-height: 0;
  padding-bottom: 30px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .voiceArea01 h2 {
    padding-bottom: 20px;
  }
}

.voiceArea01 h2 img {
  max-width: 700px;
}

@media screen and (max-width: 768px) {
  .voiceArea01 h2 img {
    max-width: 530px;
  }
}

@media screen and (max-width: 767px) {
  .voiceArea01 h2 img {
    max-width: 250px;
  }
}

.voiceArea01 h2 span {
  position: absolute;
  left: -60px;
  bottom: -65px;
}

@media screen and (max-width: 767px) {
  .voiceArea01 h2 span {
    top: -25px;
    right: 0;
    bottom: auto;
    left: auto;
  }
}

@media screen and (max-width: 767px) {
  .voiceArea01 h2 span {
    right: -15px;
  }
}

.voiceArea01 h2 span img {
  max-width: 430px;
}

@media screen and (max-width: 767px) {
  .voiceArea01 h2 span img {
    max-width: 120px;
  }
}

.voiceArea01 li {
  padding: 10px 0;
}

.voiceArea01 .container {
  position: relative;
}

.voice01 {
  margin: 0 5px;
  padding: 20px;
  background: #fff;
  border-radius: 2px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 767px) {
  .voice01 {
    max-width: 100%;
    margin: 10px;
  }
}

.voice01 .profile01 {
  padding-bottom: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.voice01 .icon01 {
  line-height: 0;
  width: 115px;
}

@media screen and (max-width: 850px) {
  .voice01 .icon01 {
    width: 95px;
  }
}

@media screen and (max-width: 767px) {
  .voice01 .icon01 {
    width: 80px;
  }
}

.voice01 .name01 {
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 850px) {
  .voice01 .name01 {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .voice01 .name01 {
    font-size: 16px;
  }
}

.voice01 .years01 {
  font-size: 15px;
  font-weight: bold;
  margin-top: 8px;
  padding: 5px 15px 3px;
  background: #eaeaea;
  border-radius: 2px;
}

@media screen and (max-width: 850px) {
  .voice01 .years01 {
    font-size: 13px;
  }
}

.voice01 .personal01 {
  margin-left: 24px;
}

@media screen and (max-width: 850px) {
  .voice01 .personal01 {
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .voice01 .personal01 {
    margin-left: 16px;
  }
}

@media screen and (max-width: 350px) {
  .voice01 .personal01 {
    margin-left: 8px;
  }
}

.voice01 .text01 {
  padding-top: 16px;
  border-top: 1px dotted #000;
}

.flowArea01 {
  padding: 20px 0 55px;
  background: #f0f9ff;
  overflow: hidden;
}

.flowArea01 h2 {
  line-height: 0;
  padding-bottom: 80px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .flowArea01 h2 {
    padding-bottom: 60px;
  }
}

.flowArea01 h2 img {
  max-width: 730px;
}

@media screen and (max-width: 768px) {
  .flowArea01 h2 img {
    max-width: 580px;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 h2 img {
    max-width: 300px;
  }
}

.flowArea01 h2 span {
  position: absolute;
  right: -30px;
  bottom: -60px;
}

.flowArea01 h2 span img {
  max-width: 255px;
}

.flowArea01 h3 {
  line-height: 0;
  margin: 30px 0;
}

@media screen and (max-width: 768px) {
  .flowArea01 h3 {
    margin: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 h3 {
    margin: 0 0 0 15px;
  }
}

.flowArea01 h3 img {
  max-height: 27px;
}

@media screen and (max-width: 768px) {
  .flowArea01 h3 img {
    max-height: 21px;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 h3 img {
    max-height: 16px;
    position: relative;
    top: 4px;
  }
}

.flowArea01 .step01 {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  max-width: 115px;
  padding: 4px 0;
  border-radius: 20px;
  background: -webkit-gradient(linear, left top, right top, from(#a4d60b), to(#0dd3b6));
  background: -webkit-linear-gradient(left, #a4d60b, #0dd3b6);
  background: -o-linear-gradient(left, #a4d60b, #0dd3b6);
  background: linear-gradient(90deg, #a4d60b, #0dd3b6);
}

@media screen and (max-width: 768px) {
  .flowArea01 .step01 {
    font-size: 14px;
    max-width: 80px;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 .step01 {
    font-size: 10px;
    width: 75px;
  }
}

.flowArea01 .pic01 {
  line-height: 0;
  width: 49%;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
  position: relative;
}

@media screen and (max-width: 767px) {
  .flowArea01 .pic01 {
    width: 100%;
    margin: 0 35px;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 .pic01:before {
    content: '';
    width: 6px;
    height: 60px;
    margin: auto;
    background: url(../images/arrow01.png) no-repeat center center;
    background-size: 5px auto;
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
  }
}

.flowArea01 .textBox01 {
  font-size: 16px;
  width: 47%;
  padding-left: 30px;
  position: relative;
}

@media screen and (max-width: 1050px) {
  .flowArea01 .textBox01 {
    width: 49%;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 .textBox01 {
    font-size: 14px;
    width: 100%;
    padding-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .flowArea01 .text01 {
    padding: 20px 0;
  }
}

.flowArea01 .text01 span {
  text-indent: -1em;
  padding-left: 1em;
  display: block;
}

.flowArea01 .arrow01 {
  position: absolute;
  left: 0;
  bottom: -30px;
}

.flowArea01 .arrow01 img {
  max-width: 10px;
}

@media screen and (max-width: 767px) {
  .flowArea01 .title01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.flow01 {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .flow01 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.flow01 .textBox01 {
  margin: 0 80px 0 20px;
}

@media screen and (max-width: 900px) {
  .flow01 .textBox01 {
    margin: 0 20px;
  }
}

@media screen and (max-width: 768px) {
  .flow01 .textBox01 {
    margin: 0 10px 0 25px;
  }
}

@media screen and (max-width: 767px) {
  .flow01 .textBox01 {
    margin: 0;
  }
}

.flow02 {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .flow02 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.flow02 .textBox01 {
  margin: 0 20px 0 80px;
}

@media screen and (max-width: 900px) {
  .flow02 .textBox01 {
    margin: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .flow02 .textBox01 {
    margin: 0;
  }
}

.flow02:last-child .pic01:before {
  display: none;
}

.campaign01 {
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .campaign01 {
    padding-top: 20px;
  }
}

.contactArea01 {
  padding-bottom: 90px;
}

.contactArea01 .entryTit {
  line-height: 0;
  margin-bottom: 20px;
  padding: 59px 0;
  background: url(../images/txt_entry.png) no-repeat left 10% top 16px, #152d83;
  background-size: 460px auto;
  position: relative;
}

@media screen and (max-width: 768px) {
  .contactArea01 .entryTit {
    margin-bottom: 20px;
    padding: 40px 0;
  }
}

@media screen and (max-width: 767px) {
  .contactArea01 .entryTit {
    margin-bottom: 40px;
    padding: 40px 0;
    background: url(../images/txt_entry.png) no-repeat left 10% top 0, #152d83;
    background-size: 230px auto;
  }
}

.contactArea01 .entryTit:before {
  content: '';
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 20px 26px 0 26px;
  border-color: #152d83 transparent transparent transparent;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .contactArea01 .entryTit:before {
    display: none;
  }
}

.contactArea01 .entryTit img {
  max-width: 500px;
}

@media screen and (max-width: 768px) {
  .contactArea01 .entryTit img {
    max-width: 420px;
  }
}

@media screen and (max-width: 767px) {
  .contactArea01 .entryTit img {
    max-width: 320px;
  }
}

.contactArea01 .confirmTit {
  line-height: 0;
  margin-bottom: 20px;
  padding: 59px 0;
  background: url(../images/txt_entry.png) no-repeat left 10% top 16px, #152d83;
  background-size: 460px auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .contactArea01 .confirmTit {
    margin-bottom: 40px;
    padding: 40px 0;
    background: url(../images/txt_entry.png) no-repeat left 10% top 0, #152d83;
    background-size: 230px auto;
  }
}

.contactArea01 .confirmTit:before {
  content: '';
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 20px 26px 0 26px;
  border-color: #152d83 transparent transparent transparent;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .contactArea01 .confirmTit:before {
    display: none;
  }
}

.contactArea01 .confirmTit img {
  max-width: 390px;
}

@media screen and (max-width: 767px) {
  .contactArea01 .confirmTit img {
    max-width: 272px;
  }
}

.contactArea01 .thanksTit {
  line-height: 0;
  margin-bottom: 20px;
  padding: 59px 0;
  background: url(../images/txt_entry.png) no-repeat left 10% top 16px, #152d83;
  background-size: 460px auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .contactArea01 .thanksTit {
    margin-bottom: 40px;
    padding: 40px 0;
    background: url(../images/txt_entry.png) no-repeat left 10% top 0, #152d83;
    background-size: 230px auto;
  }
}

.contactArea01 .thanksTit:before {
  content: '';
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 20px 26px 0 26px;
  border-color: #152d83 transparent transparent transparent;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .contactArea01 .thanksTit:before {
    display: none;
  }
}

.contactArea01 .thanksTit img {
  max-width: 426px;
}

@media screen and (max-width: 767px) {
  .contactArea01 .thanksTit img {
    max-width: 286px;
  }
}

.contactArea01 table {
  width: 100%;
}

.contactArea01 .container {
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .contactArea01 .container {
    padding-top: 0;
  }
}

.contactArea01 .text01 {
  font-size: 20px;
}

@media screen and (max-width: 768px) {
  .contactArea01 .text01 {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .contactArea01 .text01 {
    font-size: 14px;
    text-align: left;
  }
}

@media print, screen and (min-width: 501px) {
  .contactArea01 .sp50 {
    display: none;
  }
}

@media print, screen and (min-width: 451px) {
  .contactArea01 .sp45 {
    display: none;
  }
}

@media print, screen and (min-width: 401px) {
  .contactArea01 .sp40 {
    display: none;
  }
}

.contactArea01 .note03 {
  font-size: 16px;
}

.entry01 {
  margin: 55px 0 90px;
  border-top: 1px solid #b0b0b0;
  border-bottom: 1px solid #b0b0b0;
}

@media screen and (max-width: 767px) {
  .entry01 {
    margin: 40px 0 60px;
  }
}

.entry01 tr:not(:last-child) {
  border-bottom: 1px dashed #b0b0b0;
}

.entry01 th {
  font-size: 20px;
  font-weight: bold;
  text-align: left;
  width: 25%;
  position: relative;
}

@media screen and (max-width: 950px) {
  .entry01 th {
    width: 20%;
  }
}

@media screen and (max-width: 850px) {
  .entry01 th {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .entry01 th {
    font-size: 14px;
    width: 100%;
    padding-top: 15px;
    display: block;
  }
}

.entry01 .required {
  color: #fff;
  font-size: 12px;
  padding: 1px 5px;
  background: #0dd3b6;
  position: absolute;
  top: 34px;
  right: 0;
}

@media all and (-ms-high-contrast: none) {
  .entry01 .required {
    padding: 3px 5px 0px;
  }
}

@media screen and (max-width: 767px) {
  .entry01 .required {
    top: auto;
  }
}

.entry01 td {
  font-size: 18px;
  width: 70%;
  padding: 25px 0 25px 30px;
}

@media screen and (max-width: 900px) {
  .entry01 td {
    padding: 25px 0 25px 20px;
  }
}

@media screen and (max-width: 850px) {
  .entry01 td {
    font-size: 16px;
    padding: 25px 0 25px 10px;
  }
}

@media screen and (max-width: 767px) {
  .entry01 td {
    font-size: 14px;
    width: 100%;
    padding: 15px 0;
    display: block;
  }
}

.entry01 td .note02 {
  font-size: 16px;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .entry01 td .note02 {
    font-size: 12px;
    margin-top: 15px;
  }
}

.entry01 .price01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .entry01 .price01 {
    display: block;
  }
}

.entry01 .price01 li:first-child {
  margin-right: 70px;
}

@media screen and (max-width: 900px) {
  .entry01 .price01 li:first-child {
    margin-right: 30px;
  }
}

@media screen and (max-width: 767px) {
  .entry01 .price01 li:first-child {
    margin: 0 0 15px;
  }
}

.entry01 .note01 {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .entry01 .note01 {
    font-size: 12px;
    padding-top: 15px;
    display: block;
  }
}

.entry01 .filename01 {
  margin-top: 8px;
}

.selctFlex01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}

.selctFlex01:last-child {
  margin-bottom: 0;
}

.selctFlex01 span {
  height: 20px;
  position: relative;
  top: 10px;
}

.skillArea01 {
  border: none;
}

@media screen and (max-width: 767px) {
  .skillArea01 {
    max-width: 550px;
  }
}

.skillArea01 tr:not(:last-child) {
  border-bottom: none;
}

.skillArea01 th {
  font-size: 18px;
  font-weight: normal;
  width: 20%;
}

@media screen and (max-width: 850px) {
  .skillArea01 th {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .skillArea01 th {
    font-size: 14px;
    width: auto;
    padding-top: 0;
  }
}

@media screen and (max-width: 350px) {
  .skillArea01 th {
    font-size: 12px;
  }
}

.skillArea01 td {
  padding: 0;
  width: auto;
  display: table-cell;
}

@media screen and (max-width: 767px) {
  .skillArea01 td {
    width: auto;
  }
}

.skillArea01 td:first-child {
  width: 30%;
}

@media screen and (max-width: 767px) {
  .skillArea01 td:nth-child(n+2) {
    width: 46px;
  }
}

.skillArea01 td:last-child {
  padding-left: 10px;
}

@media screen and (max-width: 400px) {
  .skillArea01 td:last-child {
    padding-left: 5px;
  }
}

.skillArea01 tr:not(:last-child) td {
  padding-bottom: 22px;
}

@media screen and (max-width: 767px) {
  .skillArea01 tr:not(:last-child) td {
    padding-bottom: 15px;
  }
}

@media screen and (max-width: 500px) {
  .skillArea01 tr:nth-child(2) th {
    position: relative;
    top: -10px;
  }
}

@media screen and (max-width: 500px) {
  .skillArea01 tr:last-child th {
    position: relative;
    top: -10px;
  }
}

.skill01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.skill01:last-child .deleteBtn01 {
  display: none;
}

.skill01:not(:last-child) .addBtn01 {
  display: none;
}

.btnArea01 {
  margin-left: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 640px) {
  .btnArea01 {
    margin-left: 0px;
  }
}

.btnArea01 li:first-child {
  margin-right: 10px;
}

@media screen and (max-width: 640px) {
  .btnArea01 li:first-child {
    margin-right: 0px;
  }
}

@media screen and (max-width: 350px) {
  .btnArea01 .button01 {
    font-size: 12px;
    padding: 7px;
  }
}

.send01 {
  max-width: 500px;
  width: 100%;
  margin: auto;
  background: -webkit-gradient(linear, left top, right top, from(#a4d60b), color-stop(51%, #0dd3b6), to(#a4d60b));
  background: -webkit-linear-gradient(left, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background: -o-linear-gradient(left, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background: linear-gradient(90deg, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background-size: 200%;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.send01:hover {
  background-position: right center;
}

.send01 a {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  width: 100%;
  padding: 12px 0;
  background: #b0b0b0;
  border-radius: 4px;
  border: none;
  cursor: pointer;
  display: block;
}

.send01 a:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .send01 a {
    width: 100%;
    padding: 16px 0;
  }
}

.send01 input:disabled {
  background: url("../images/ico_index99.png") no-repeat center right 40px, #ccc;
  cursor: default;
}

.send02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .send02 {
    display: block;
  }
}

.send02 input[type="submit"] {
  font-size: 20px;
  width: 48%;
  margin: auto;
  background: -webkit-gradient(linear, left top, right top, from(#a4d60b), color-stop(51%, #0dd3b6), to(#a4d60b));
  background: -webkit-linear-gradient(left, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background: -o-linear-gradient(left, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background: linear-gradient(90deg, #a4d60b 0%, #0dd3b6 51%, #a4d60b 100%);
  background-size: 200%;
  border-radius: 4px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.send02 input[type="submit"]:hover {
  font-size: 22px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-width: 767px) {
  .send02 input[type="submit"] {
    font-size: 16px;
    width: 100%;
    margin-bottom: 15px;
  }
  .send02 input[type="submit"]:hover {
    font-size: 17px;
  }
}

.send02 input[type="submit"]:hover {
  background-position: right center;
}

.send02 input[type="button"] {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  width: 48%;
  padding: 12px 0;
  background: #b0b0b0;
  border-radius: 4px;
  border: none;
  cursor: pointer;
}

.send02 input[type="button"]:hover {
  font-size: 17px;
}

@media screen and (max-width: 767px) {
  .send02 input[type="button"] {
    width: 100%;
    padding: 16px 0;
  }
}

.thanksArea01 a {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  max-width: 300px;
  width: 100%;
  margin: auto;
  padding: 12px 0 10px;
}

.thanksArea01 .textBox01 {
  font-size: 16px;
  margin-bottom: 32px;
}

@media screen and (max-width: 767px) {
  .thanksArea01 .textBox01 {
    font-size: 14px;
  }
}

.thanksArea01 .tel01 {
  font-size: 22px;
  font-weight: bold;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .thanksArea01 .tel01 {
    font-size: 20px;
  }
}

.thanksArea01 .tel01 a {
  font-size: 22px;
  color: #000;
}

@media screen and (max-width: 767px) {
  .thanksArea01 .tel01 a {
    font-size: 20px;
  }
}

.input01 {
  max-width: 400px;
}

@media screen and (max-width: 767px) {
  .input01 {
    max-width: 100%;
  }
}

.input02 {
  max-width: 600px;
}

@media screen and (max-width: 767px) {
  .input02 {
    max-width: 100%;
  }
}

.input03 {
  max-width: 170px;
  margin: 0 10px;
}

@media screen and (max-width: 850px) {
  .input03 {
    max-width: 120px;
  }
}

@media screen and (max-width: 767px) {
  .input03 {
    max-width: 75%;
  }
}

@media screen and (max-width: 330px) {
  .input03 {
    max-width: 70%;
  }
}

.selectBox01 {
  width: 180px;
  display: inline-block;
  margin-right: 10px;
}

@media screen and (max-width: 370px) {
  .selectBox01 select {
    font-size: 11px;
  }
}

@media screen and (max-width: 330px) {
  .selectBox01:before {
    width: 10px;
  }
}

@media screen and (max-width: 330px) {
  .selectBox01:after {
    right: 1px;
  }
}

@media screen and (max-width: 640px) {
  .selectBox01.box02 {
    width: 150px;
  }
}

@media screen and (max-width: 450px) {
  .selectBox01.box02 {
    width: 135px;
    margin-right: 5px;
  }
}

@media screen and (max-width: 400px) {
  .selectBox01.box02 {
    width: 120px;
  }
}

@media screen and (max-width: 370px) {
  .selectBox01.box02 {
    width: 110px;
  }
}

@media screen and (max-width: 330px) {
  .selectBox01.box02 {
    width: 100px;
  }
}

.selectBox01.box03 {
  margin: 0 10px;
}

@media screen and (max-width: 1000px) {
  .selectBox01.box03 {
    margin: 0 10px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .selectBox01.box03 {
    margin: 0 5px 0 0;
  }
}

@media screen and (max-width: 640px) {
  .selectBox01.box03 {
    width: 150px;
  }
}

@media screen and (max-width: 450px) {
  .selectBox01.box03 {
    width: 135px;
  }
}

@media screen and (max-width: 400px) {
  .selectBox01.box03 {
    width: 120px;
  }
}

@media screen and (max-width: 370px) {
  .selectBox01.box03 {
    width: 110px;
  }
}

input[type="radio"] {
  display: none;
}

.radio01 {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  margin: 8px 60px 5px 0;
  position: relative;
  display: inline-block;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .radio01 {
    padding-left: 30px;
    margin: 0 40px 0 0;
  }
}

.radio01:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  margin: auto;
  background: #fff;
  border: 1px solid #b0b0b0;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .radio01:before {
    width: 20px;
    height: 20px;
  }
}

.radio01.mright {
  margin-right: 0;
}

@media screen and (max-width: 450px) {
  .radio01.mtop {
    margin-top: 15px;
  }
}

input[type="radio"]:checked + .radio01::after {
  content: '';
  position: absolute;
  top: 7px;
  left: 7px;
  width: 10px;
  height: 10px;
  background: #152d83;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  input[type="radio"]:checked + .radio01::after {
    width: 8px;
    height: 8px;
  }
}

.file_upload01 {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  margin-right: 10px;
  padding: 13px 20px 11px;
  background: #152d83;
  border: none;
  cursor: pointer;
}

.file_upload01 > input[type="file"] {
  display: none;
}

@media screen and (max-width: 767px) {
  .file_upload01 {
    font-size: 13px;
    padding: 11px 10px 9px;
  }
}

.slick-prev,
.slick-next {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.slick-prev:before,
.slick-next:before {
  display: none;
}

@media screen and (max-width: 1050px) {
  .slick-prev,
  .slick-next {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .slick-prev,
  .slick-next {
    display: none;
  }
}

.slick-prev {
  background: url(../images/arrow04.png) no-repeat left 45% center, #fff;
  background-size: 8px auto;
  left: -70px;
  z-index: 3;
}

@media screen and (max-width: 1150px) {
  .slick-prev {
    left: -25px;
  }
}

@media screen and (max-width: 1050px) {
  .slick-prev {
    left: -20px;
  }
}

.slick-prev:hover {
  background: url(../images/arrow04.png) no-repeat left 45% center, #fff;
  background-size: 8px auto;
}

.slick-prev:focus {
  background: url(../images/arrow04.png) no-repeat left 45% center, #fff;
  background-size: 8px auto;
}

.slick-next {
  background: url(../images/arrow05.png) no-repeat center center, #fff;
  background-size: 8px auto;
  right: -70px;
}

@media screen and (max-width: 1150px) {
  .slick-next {
    right: -25px;
  }
}

@media screen and (max-width: 1050px) {
  .slick-next {
    right: -20px;
  }
}

.slick-next:hover {
  background: url(../images/arrow05.png) no-repeat center center, #fff;
  background-size: 8px auto;
}

.slick-next:focus {
  background: url(../images/arrow05.png) no-repeat center center, #fff;
  background-size: 8px auto;
}

.slick-dots li {
  padding: 0;
}

.slick-dots li button {
  width: 10px;
  height: 10px;
  border: 1px solid #152d83;
  border-radius: 50%;
}

.slick-dots li button:before {
  display: none;
}

.slick-dots .slick-active button {
  background: #152d83;
  border-radius: 50%;
}

.error {
  color: #E30000;
}

.privacy01 {
  width: 300px;
  margin: 30px auto 20px;
}

.text02 {
  font-size: 18px;
}

