
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;600;700&display=swap');

html {
    font-size: 62.5%;
}

body {
    font-size: 1.4rem;
    font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: bold;
    color: #333333;
}
img{
  max-width: 100%;
}
.wrapper{
  overflow:hidden;
}

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

.in {
    margin: 0 auto;
    max-width: 1000px;
    box-sizing: border-box;
}
.in_in {
    margin: 0 auto;
    max-width: 800px;
    box-sizing: border-box;
}
.flex {
    display: flex;
}
.sp {
    display: none;
}
.word_break {
    display: inline-block;
}
a:hover {
    opacity: 0.8;
}
input[type=button]:hover {
    opacity: 0.8;
}
input[type=submit]:hover {
    opacity: 0.8;
}
.en {
    font-weight: 100;
}

@media screen and (max-width:640px) {
    .wrapper {
        overflow: hidden;
    }
    .in {
        width: 100%;
        padding: 0 4%;
    }
    .in_in {
        width: 100%;
        padding: 0 4%;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    img {
        max-width: 100%;
    }
}
/*
header {
    width: 100vw;
    z-index: 9999;
    height: 60px;
    background-color: #fff;
    position: fixed;
    top: 0;
    z-index: 9999;
}
header .flex {
    justify-content: space-between;
    align-items: center;
}
header .hdtel {
    margin-right: 20px;
    margin-left: auto;
}
header .ctabtn {
    height: 60px;
    padding: 30px;
    background-color: #42904c;
    font-size: 1.8rem;
    color: #fff;
    display: flex;
    align-items: center;
}
header .ctabtn::before {
    content: "";
    width: 20px;
    height: 15px;
    background: url(../images/mail.png) no-repeat;
    background-size: contain;
    margin-right: 10px;
}

@media screen and (max-width:640px) {
    header {
      position: fixed;
      top: 0;
      z-index: 9999;
      background: none;
      height: 70px;
      transition: all 0.3s;
    }
    header .in {
      height: 70px;
    }
    .header-color {
      background: #fff;
      transition: all 0.3s;
    }
    header .logo {
        width: 120px;
    }
    header .hdtel {
        display: none;
    }
    header .ctabtn {
        width: 70px;
        height: 70px;
        padding: 0px;
        padding-top: 15px;
        background-color: #42904c;
        font-size: 0.8rem;
        color: #fff;
        display: flex;
        justify-content: center;
        position: absolute;
        right: 0;
        top: 0;
    }
    header .ctabtn::before {
        content: "";
        width: 20px;
        height: 15px;
        background: url(../images/mail.png) no-repeat;
        background-size: contain;
        margin-right: 0px;
        display: block;
        position: absolute;
        top: 35%;
        left: 50%;
        transform: translate(-50%,-50%);
    }
}
*/
.firstview {
    position: relative;
    height: 640px;
    /*margin-top: 60px;*/
    background: url(../images/main_img.jpg);
    background-size: cover;
    background-position: top center;
    overflow: hidden;
}
.firstview:before{
    width: 50%;
    height: 200%;
    content: "";
    display: block;
    position: absolute;
    background: linear-gradient(90deg, rgba(67,144,76,0.2) 0%, rgba(245,233,40,0.2) 100%);
    top: -250px;
    left: -25vw;
    transform: rotate(25deg);
}
.firstview:after{
  content:"";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0 120px 100vw ;
  border-color: #fff transparent;
}
.firstview .in{
  align-items: center;
  height: 100%;
  z-index: 2;
  position: relative;
}
.firstview .txtarea{
  position: relative;
  z-index: 2;
}
.firstview h1{
  font-size: 5.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.firstview h1 span{
  color: #399252;
}
.firstview p{
  margin-top: 30px;
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 400;
}
.firstview .badge{
    position: absolute;
    width: 110px;
    top: 130px;
}

@media screen and (max-width:640px) {
    .firstview {
      height: 580px;
      margin-top: 0;
      background: url(../images/main_img_sp.jpg);
      background-size: cover;
    }
    .firstview::after {
        height: 35%;
    }
    .firstview .textarea {
        position: absolute;
        top: 55%;
        left: 5px;
        z-index: 1;
    }
    .firstview .imagearea {
        position: relative;
        left: unset;
        right: -5%;
    }
    .firstview:before{
      display: none;
    }
    .firstview .txtarea {
      position: relative;
      z-index: 2;
      padding-right: 100px;
    }
    .firstview h1 {
      font-size: 3.0rem;
    }
    .firstview p {
      font-size: 1.6rem;
    }
    .firstview .badge {
    position: absolute;
    width: 110px;
    top: 70px;
    }
}


.cta_01{
  position: relative;
  top:-50px;
  padding-bottom: 30px;
  z-index:9999;
}
.cta_01 .flex{
  justify-content: center;
}
.cta_01 .flex a{
  width: 45%;
}
@media screen and (max-width:640px) {
  .cta_01{
    position: relative;
    top:-90px;
    padding-bottom: 0;
  }
  .cta_01 .flex{
    flex-wrap:wrap;
  }
  .cta_01 .flex a{
    width: 100%;
  }
}

.cta_02{
  position: relative;
  padding: 60px 0;
  background: #42904c;
}
.cta_02 .flex{
  justify-content: center;
}
.cta_02 .flex a{
  width: 45%;
}
@media screen and (max-width:640px) {
  .cta_02{
    padding: 30px 0;
  }
  .cta_02 .flex{
    flex-wrap:wrap;
  }
  .cta_02 .flex a{
    width: 100%;
  }
}



.sec01{
  padding-bottom: 80px;
  position: relative;
}
.sec01:before{
  width: 50%;
    height: 200%;
    content: "";
    display: block;
    position: absolute;
    background: linear-gradient(90deg, rgba(67,144,76,0.2) 0%, rgba(245,233,40,0.2) 100%);
    top: -839px;
    right: 0;
    transform: rotate(135deg);
    content: "";
    z-index: -1;
}
.sec01 .sec_01_ttl{
  text-align: center;
  margin-bottom: 50px
}
.sec01 .sec_01_ttl p{
  font-size: 2.6rem;
  line-height: 1.5;
}
.sec01 .sec_01_ttl p span{
  color: #43904c;
}
.sec01 .sec_01_ttl h2{
  font-size: 4.2rem;
  line-height: 1.25;
  color: #43904c;
  font-weight: bold;
}
.sec01 .sec_01_ttl h2 span{
  font-size: 2.6rem;
  line-height: 1.25;
  color: #333;
}
.sec01 .lead{
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 400;
  padding: 20px;
  box-sizing: border-box;
  border: 4px solid #a4c67f;
}

.sec01_w{
  justify-content:space-between;
}
.sec01_i{
  width: 45%;
  margin-top: 40px;
  border: 2px solid #42904c;
  background: #fff;
}
.sec01_i.is-ver2 {
  width: 100%;
}
.sec01_i.is-ver3 {
  position: relative;
}
.sec01_i.is-ver3::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 37.5px 0 37.5px 65.0px;
  border-color: transparent transparent transparent #42904c;
  top: 50%;
  margin-top: -25px;
  right: 0;
  margin-right: -84px;
}
.sec01_i h3{
  background: #42904c;
  position: relative;
  padding: 25px 20px 30px;
  text-align: center;
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
}
.sec01_i.is-ver2 h3 {
  font-size: 3rem;
}
.sec01_i h3 span{
  position: absolute;
  width: 60px;
  left: 50%;
  transform: translate(-50%,0);
  top:-20px;
}
.sec01_i h3:after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 120px 0 120px;
  border-color: #42904c transparent transparent transparent;
  position: absolute;
  left: 50%;
  transform: translate(-50%,0);
}
.sec01_i_i{
  padding:60px 20px 20px;
}
.sec01_i_i p.is-ver2 {
  font-weight: normal;
  text-align: right;
  padding: 0 10px 10px 0;
}
.sec01_i .txtarea p{
  font-weight: 400;
  line-height: 1.5;
}
.sec01_i .txtarea p.bold{
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.25;
  margin-bottom: 20px;
}
.sec01_i .txtarea p.bold span{
  color: #42904c;
}
.sec01_i .imgarea{
  margin-top: 30px;
  text-align: center;
}
.sec01_i .imgarea img {
  width: 50%;
  height: auto;
}
@media screen and (max-width:640px) {
  .sec01 {
    margin-top: -45px;
  }
  .sec01:before {
    top: -1670px;
  }
  .sec01 .sec_01_ttl p {
    font-size: 1.6rem;
    line-height: 1.5;
    /* text-decoration: underline #fff 5px; */
    display: inline;
    background:linear-gradient(transparent 60%, #fff 0);
  }
  .sec01 .sec_01_ttl h2 {
    font-size: 2.4rem;
    line-height: 1.25;
  }
  .sec01 .sec_01_ttl h2 span {
    font-size: 1.8rem;
    line-height: 1.25;
  }
  .sec01 .lead {
    font-size: 1.6rem;
  }
  .sec01_w{
    flex-wrap: wrap;
  }
  .sec01_i {
    width: 100%;
    margin-top: 40px;
    border: 0px solid #42904c;
    background: #fff;
  }
  .sec01_i_i {
    padding: 60px 0px 20px;
  }
  .sec01_i.is-ver2 h3 {
    font-size: 1.8rem;
  }
  .sec01_i.is-ver3::before {
    content: none;
  }
  .sec01_i .imgarea {
    padding: 0 5px;
    box-sizing: border-box;
    margin-bottom: 20px;
  }
  .sec01_i .imgarea img {
    width: 100%;
    height: auto;
  }
  .sec01_i_i p.is-ver2 {
    padding: 0;
  }
}

.sec02{
  padding: 80px 0;
  position: relative;
  background: #ecece5;
}
.sec02 .sec_02_ttl{
  text-align: center;
  margin-bottom: 50px
}
.sec02 .sec_02_ttl .l_txt{
  font-size: 2.6rem;
  line-height: 1.25;
}
.sec02 .sec_02_ttl .l_txt span{
  display:block;
}
.sec02 .sec_02_ttl h2{
  display: table;
  margin:20px auto 0;
  background: #42904c;
  padding: 30px;
  font-size: 2.6rem;
  color: #fff;
  position: relative;
  font-weight: bold;
}
.sec02 .sec_02_ttl h2:after{
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translate(-50%,0);
  bottom:-10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0 15px;
  border-color: #42904c transparent transparent transparent;
}
.sec02 .lead{
  font-size: 18px;
  text-align: center;
  font-weight: 400;
  line-height: 1.4;
}

.sec_02_w{
  margin-top: 40px;
}
.sec_02_i{
  padding: 20px 45px 20px 20px;
  background: #fff;
  margin-bottom: 30px;
  position: relative;
}
.sec_02_i .num{
  font-size: 1.8rem;
  color: #fff;
  background: #42904c;
  position: absolute;
  width: 40px;
  height: 40px;
  display: flex;
  align-items:center;
  justify-content: center;
  top: -10px;
  left: 40px;
  z-index: 9;
}
.sec_02_i .flex{
}
.sec_02_i .imgarea{
  width: 30%;
  flex-shrink: 0;
  margin-right: 30px;
}
.sec_02_i .txtarea h3{
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}
.sec_02_i .txtarea p{
  font-weight: 400;
  line-height: 1.75;
}
.sec_02_i_li{
  margin-top: 20px;
  border: 2px solid #a4c67f;
  padding: 15px;
}
.sec_02_i_li_i{
  margin-bottom: 20px;
}
.sec_02_i_li_i:nth-last-of-type(1){
  margin-bottom: 0;
}
.sec_02_i_li h4{
  color: #42904c;
  margin-bottom: 20px;
  font-weight: bold;
}
.sec_02_i_li ul li{
  font-weight: 400;
  margin-bottom: 10px;
  display: flex;
}
.sec_02_i_li ul li:before{
  content: "●";
  color: #42904c;
}

.sec_02_i:nth-of-type(2) .flow_arrow{
  background: #42904c;
  position: absolute;
  right: 0;
  top: 0;
  height: calc(100% + 10px);
  writing-mode: vertical-rl;
  line-height: 1;
  padding: 5px;
  color: #fff;
  font-weight: bold;
}
.sec_02_i:nth-of-type(2) .flow_arrow:before{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 12px 0 12px;
  border-color: #42904c transparent transparent transparent;
  position: absolute;
  left: 50%;
  transform: translate(-50%,0);
  bottom: -20px;
}
.sec_02_i:nth-of-type(3) .flow_arrow{
  background: #42904c;
  position: absolute;
  right: 0;
  top: 0;
  height: calc(295% - 94px);
  writing-mode: vertical-rl;
  line-height: 1;
  padding: 5px;
  color: #fff;
  z-index: 2;
}
.sec_02_i:nth-of-type(3) .flow_arrow:before{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 12px 0 12px;
  border-color: #42904c transparent transparent transparent;
  position: absolute;
  left: 50%;
  transform: translate(-50%,0);
  bottom: -20px;
}
@media screen and (max-width:640px) {
  .sec02 {
    padding: 60px 0;
  }
  .sec02 .sec_02_ttl h2 {
    display: block;
    line-height: 1.25;
  }
  .sec02 .lead {
    font-size: 14px;
    text-align: left;
    font-weight: 400;
    line-height: 1.5;
  }
  .sec02 .sec_02_ttl .l_txt {
    font-size: 2.2rem;
    line-height: 1.25;
  }

  .sec_02_i {
    padding: 0px 0 0px 0px;
    background: #fff;
    margin-bottom: 30px;
    position: relative;
  }
  .sec_02_i .flex{
    flex-wrap: wrap;
  }
  .sec_02_i .imgarea {
    width: 100%;
    flex-shrink: 0;
    margin-right: 30px;
  }
  .sec_02_i .txtarea h3{
    font-size: 18px;
  }
  .sec_02_i .txtarea{
    padding: 20px 45px 20px 20px;
  }
  .sec_02_i:nth-of-type(3) .flow_arrow {
    height: calc(262% - 76px);
  }


}



.sec03{
  padding: 80px 0;
}
.sec03 h2{
  text-align: center;
  font-size: 3.4rem;
  color: #42904c;
  margin-bottom: 60px;
  font-weight: bold;
}
.slide_content .slide_inner {
    width: 300px;
    /*min-height: 373px;*/
    height:600px;
    padding: 40px 15px;
    border-radius: 2px;
    background-color: #fff;
    margin: 20px;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.75;
    box-shadow: 0px 3px 13px 0px rgba(0,0,0,0.2);
}
.slide_content .slide_inner img{
  margin:0 auto 30px;
  width: 150px;
}
.slick-dots {
    display: flex;
    justify-content: center;
    padding: 40px 0 0px;
}
  .slick-dots li{
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
  }
  .slick-dots li button{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .slick-dots li button:hover,
  .slick-dots li button:focus{
    outline: none;
  }
  .slick-dots li button:hover:before,
  .slick-dots li button:focus:before{
    opacity: 1;
  }
  .slick-dots li button:before{
    font-family: 'slick';
    font-size: 30px;
    line-height: 30px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    color: #cccccc;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .slick-dots li.slick-active button:before{
    color: #3f974b;
  }



@media screen and (max-width:640px) {
  .sec03{
    padding: 60px 0;
  }
  .sec03 h2 {
    font-size: 2.6rem;
    margin-bottom: 20px;
  }

}

.sec04{
  padding: 80px 0;
  background: #ecece5;
}
.sec04 h2{
  text-align: center;
  font-weight: bold;
  font-size: 3.4rem;
  color: #42904c;
  margin-bottom: 80px;
}
@media screen and (max-width:640px) {
  .sec04 h2 {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
.sec04_w{
  flex-wrap: wrap;
}
.sec04_i{
  width: 30.5%;
  margin-right: 2.5%;
  margin-bottom: 2.5%;
  background: #fff;
}
.sec04_i:nth-of-type(4n){
  margin-left: 0;
}
.sec04_i .txtarea{
  padding: 20px;
}
.sec04_i .txtarea h3{
  font-size: 1.8rem;
  margin-bottom: 10px;
  color: #42904c;
  font-weight: bold;
}
.sec04_i .txtarea p{
  font-weight: 400;
  line-height: 1.25;
}
.sec04_i .txtarea p.sho{
  color: #42904c;
  margin-bottom: 10px;
}
@media screen and (max-width:640px) {
  .sec04{
    padding: 60px 0;
  }
  .sec04_i {
    width: 48.5%;
  }
  .sec04_i:nth-of-type(2n){
    margin-right: 0;
  }
  .sec04_i .txtarea p{
    font-weight: 400;
    line-height: 1.5;
  }
}


.sec05{
  padding: 80px 0;
  text-align:center;
}
.sec05 h2{
  text-align: center;
  font-size: 3.4rem;
  color: #42904c;
  margin-bottom: 80px;
}
.sec05 img{
  width: 500px;
}
@media screen and (max-width:640px) {
  .sec05 {
    padding: 60px 0;
  }
  .sec05 h2 {
    font-size: 2.6rem;
    margin-bottom: 40px;
  }
}

.sec06{
  padding: 80px 0;
  background: #ecece5;
}
.sec06 h2{
  text-align: center;
  font-size: 3.4rem;
  color: #42904c;
  margin-bottom: 80px;
}
.sec06 .q_content {
    margin-top: 40px;
}
.sec06 .q_content .faq_area {
    padding: 20px 50px;
    background-color: #fff;
    border-radius: 2px;
    box-shadow: 0px 3px 20px 0px rgba(0,0,0,0.2);
    margin-top: 20px;
}
.sec06 .q_content .question {
    font-size: 1.6rem;
    font-weight: bold;
    color: #3f974b;
    cursor: pointer;
    line-height: 1.5;
    position: relative;
}
.sec06 .q_content .question::after {
    content: "";
    background-size: contain;
    width: 2px;
    height: 20px;
    background: #3f914a;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
}
.sec06 .q_content .question::before {
    content: "";
    background-size: contain;
    width: 20px;
    height: 2px;
    background: #3f914a;
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
}
.sec06 .q_content .question.active::after {
    display: none;
}
.sec06 .q_content .answer {
    display: none;
    color: #333;
    font-size: 1.4rem;
    font-weight: 100;
    padding-top: 20px;
    line-height: 2;
}
@media screen and (max-width:640px) {
  .sec06{
    padding: 60px 0;
  }
  .sec06 h2 {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  .sec06 .q_content .faq_area {
    padding: 20px 25px 20px 20px;
  }
}


.sec07{
  padding: 80px 0;
  text-align:center;
}
.sec07 h2{
  text-align: center;
  font-size: 2.4rem;
  color: #42904c;
  margin-bottom: 30px;
}
.sec07 p{
  font-size: 2.2rem;
  line-height: 1.5;
}
@media screen and (max-width:640px) {
  .sec07{
    padding: 60px 0;
    text-align:center;
  }
  .sec07 h2{
    font-size: 2.2rem;
  }
  .sec07 p{
    font-size: 1.8rem;
  }
}


.footer_box {
    background-color: #3f974b;
    padding: 50px 0;
}
.footer_box h2 {
    font-size: 2.4rem;
    color: #fff;
    text-align: center;
    line-height: 1.7;
}
.footer_box .contents {
    justify-content: center;
    margin: 40px 0 0;
}
.footer_box .contents .contact_btn {
    margin: 0 20px;
}
.footer_box .contents .telbtn_wrapper {
    text-align: center;
    margin: 0 20px;
}
.footer_box .contents .telbtn_wrapper p {
    color: #fff;
    margin-top: 10px;
    font-size: 1.6rem;
}
.footer_box p.right {
    text-align: center;
    color: #fff;
    padding-bottom: 10px;
}

@media screen and (max-width:640px) {
    footer {
        padding-bottom: 120px !important;
    }
    .footer_box h2 {
        font-size: 1.8rem;
    }
    .footer_box .contents {
        flex-direction: column;
        align-items: center;
    }
    .footer_box .contents .telbtn_wrapper {
        margin: 10px 0 0;
    }
    .footer_box .contents .telbtn_wrapper p {
        font-size: 1.4rem;
    }
    .footer_box .contents .contact_btn {
        margin: 0;
    }
}

.sp_footer {
    display: none;
}
.sp_footer_wrapper {
    display: none;
}

@media screen and (max-width:640px) {
    .sp_footer_wrapper {
        display: block;
    }
    .sp_footer {
        width: 100%;
        background-color: #fff;
        position: fixed;
        bottom: -1px;
        box-shadow: 0px -3px 13px 1px rgb(0 0 0 / 20%);
        z-index: 99999;
    }
    .sp_footer a {
        display: block;
        width: 50%;
        padding: 50px 0 20px;
        font-size: 1.5rem;
        font-weight: bold;
        text-align: center;
        position: relative;
        line-height: 1.5;
    }
    .sp_footer .foot_mail {

        background-color: #43964e;
        color: #fff;
    }
    .sp_footer .foot_mail::before {
        content: "";
        background: url(../images/arrow_b.png) no-repeat;
        background-size: contain;
        width: 10px;
        height: 17px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-60%);
    }
    .sp_footer .foot_mail::after {
        content: "";
        background: url(../images/mail.png) no-repeat;
        background-size: contain;
        width: 22px;
        height: 16px;
        position: absolute;
        top: 22px;
        left: 50%;
        transform: translateX(-50%);
    }
    .sp_footer .foot_tel {
        background-color: #fff100;
        color: #333;
    }
    .sp_footer .foot_tel::before {
        content: "";
        background: url(../images/arrow_w.png) no-repeat;
        background-size: contain;
        width: 10px;
        height: 17px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-60%);
    }
    .sp_footer .foot_tel::after {
        content: "";
        background: url(../images/tel_b.png) no-repeat;
        background-size: contain;
        width: 17px;
        height: 23px;
        position: absolute;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .flex a span {
      font-size: 11px;
      display: block;
    }
    
}


.form-confirm {
    margin-top: 160px;
}
.form-confirm h3 {
    font-size: 2rem;
    margin-bottom: 60px;
    text-align: center;
}
.form-confirm h4 {
    font-size: 2rem;
    margin-bottom: 60px;
}
.form-confirm p.alart {
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #000;
}
.form-confirm p.error_messe {
    font-size: 1.6rem;
    margin-bottom: 20px;
    color: #000;
}
.form-confirm .formTable {
    margin: 0 auto;
    position: relative;
    left: -25px;
}
.form-confirm .formTable th {
    font-size: 1.6rem;
    padding: 10px 80px 10px 0;
    text-align: right;
}
.form-confirm .formTable td {
    font-size: 1.6rem;
    padding: 10px 0;
    text-align: left;
}
.form-confirm .submit_wrapper_flex {
    display: flex;
    justify-content: center;
    margin: 60px 0;
}
.form-confirm .submit_wrapper_flex .submit_wrapper_l input[type="button"] {
    display: inline-block;
    width: 300px;
    margin: 0 20px;
    background-color: #424242;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 2rem;
    font-weight: bold;
    border: none;
    outline: none;
}
.form-confirm .submit_wrapper_flex .submit_wrapper_l::after {
    content: "";
    width: 300px;
    height: 6px;
    background-color: #000;
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
}
.form-confirm .submit_wrapper_flex .submit_wrapper_r input[type="submit"] {
    display: inline-block;
    width: 300px;
    margin: 0 20px;
    background-color: #cf3a34;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 2rem;
    font-weight: bold;
    border: none;
    outline: none;
}
.form-confirm .submit_wrapper_flex .submit_wrapper_r,
.form-confirm .submit_wrapper_flex .submit_wrapper_l {
    position: relative;
}
.form-confirm .submit_wrapper_flex .submit_wrapper_r::after {
    content: "";
    width: 300px;
    height: 6px;
    background-color: #ad312c;
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
}
.form-confirm .submit_wrapper {
    margin: 20px 0 80px;
    text-align: center;
    position: relative;
}
.form-confirm .submit_wrapper input[type="submit"],
.form-confirm .submit_wrapper input[type="button"] {
    width: 300px;
    background-color: #424242;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 2rem;
    font-weight: bold;
    border: none;
    outline: none;
}
.form-confirm .submit_wrapper::after {
    content: "";
    width: 300px;
    height: 6px;
    background-color: #000;
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
}

.thanks_sec {
    padding: 120px 0 80px;
}
.thanks_sec h2 {
    font-size: 2.4rem;
    color: #000;
    margin-bottom: 40px;
    text-align: center;
}
.thanks_sec p {
    font-size: 1.8rem;
    line-height: 1.3;
    text-align: center;
}
.thanks_sec .topbtn_wrapper {
    margin-top: 80px;
    position: relative;
}
.thanks_sec .topbtn_wrapper .topbtn::after {
    content: "";
    width: 400px;
    height: 6px;
    background-color: #000;
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
}
.thanks_sec .topbtn_wrapper .topbtn {
    width: 400px;
    background-color: #424242;
    color: #fff;
    text-align: center;
    padding: 20px;
    font-size: 2rem;
    font-weight: bold;
    border: none;
    outline: none;
    display: block;
    margin: 0 auto;
}

@media screen and (max-width:640px) {
    .thanks_sec .topbtn_wrapper .topbtn::after {
        content: "";
        width: 80%;
        height: 6px;
        background-color: #000;
        position: absolute;
        left: 50%;
        bottom: -6px;
        transform: translateX(-50%);
    }
    .thanks_sec .topbtn_wrapper .topbtn {
        width: 80%;
        background-color: #424242;
        color: #fff;
        text-align: center;
        padding: 20px;
        font-size: 1.8rem;
        font-weight: bold;
        border: none;
        outline: none;
        display: block;
        margin: 0 auto;
    }
}
.cv_wrap {
  display: none;
}
.in.is-ver2 {
  max-width: 1100px;
}
h2,h3 {
  font-weight: bold;
}
