#mv_area h1 {
  color: #4b9411;
}

#page_navi .regist_link a {
  color: #FFFFFF;
  background: #b63917;
}

#page_navi .use_link a {
  color: #FFFFFF;
  background: #4b9411;
}

#line_regist .line_link_btn a {
  display: block;
  color: #FFFFFF;
  background: #b63917;
}

.step_title {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4b9411;
}

.step_title::before, .step_title::after {
  border-top: 2px solid #4b9411;
  content: "";
}

@media screen and (min-width: 768px) {
  #mv_area {
    padding: 120px 0 115px;
  }
  #mv_area h1 {
    margin-top: 15px;
    font-size: 46px;
    line-height: 1.1;
  }
  #mv_area h1 .en {
    font-size: 46px;
  }
  #mv_area h1 .line {
    font-size: 34px;
  }
  #mv_area h1 .line .en {
    font-size: 31px;
  }
  #mv_area .txt {
    margin-top: 20px;
    line-height: 2;
  }
  #page_navi {
    margin: 80px auto;
    display: flex;
    width: 760px;
    justify-content: space-between;
  }
  #page_navi li {
    display: flex;
  }
  #page_navi a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 350px;
    padding: 25px 0;
    border-radius: 10px;
  }
  #line_regist {
    background: #f8ebe7;
    padding: 55px 0 50px;
    text-align: center;
  }
  #line_regist h2 {
    color: #b63917;
    font-size: 42px;
    text-align: center;
  }
  #line_regist .description {
    margin-top: 40px;
    line-height: 2;
  }
  #line_regist .line_link_btn a {
    width: 350px;
    margin: 35px auto 0;
    border-radius: 10px;
    padding: 24px 0;
  }
  #line_regist .regist_area {
    width: 1028px;
    margin: 60px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #line_regist .regist_area .qr_area,
  #line_regist .regist_area .id_area {
    background: #FFFFFF;
    width: 500px;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 33px 37px;
  }
  #line_regist .regist_area .qr_area h3,
  #line_regist .regist_area .id_area h3 {
    border: 2px solid #231815;
    padding: 22px 0;
    font-size: 24px;
    text-align: center;
  }
  #line_regist .regist_area .qr_area section,
  #line_regist .regist_area .id_area section {
    margin-top: 40px;
    text-align: center;
  }
  #line_regist .regist_area .qr_area section h4,
  #line_regist .regist_area .id_area section h4 {
    font-size: 20px;
  }
  #line_regist .regist_area .qr_area section .txt,
  #line_regist .regist_area .id_area section .txt {
    font-size: 18px;
    margin-top: 15px;
  }
  #line_regist .regist_area .qr_area section .image,
  #line_regist .regist_area .id_area section .image {
    margin-top: 20px;
  }
  #line_regist .note {
    font-size: 18px;
    margin-top: 45px;
  }
  #line_use {
    background: #f2f7ee;
    padding: 45px 0 70px;
    text-align: center;
  }
  #line_use h2 {
    color: #4b9411;
    font-size: 42px;
  }
  #line_use .step {
    background: #FFFFFF;
    border-radius: 10px;
    width: 1028px;
    margin: 50px auto 0;
    padding: 80px 63px 80px;
    box-sizing: border-box;
  }
  #line_use .step .description {
    margin-top: 15px;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.25;
  }
  #line_use .step .data_area {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
  }
  #line_use .step1 {
    padding-bottom: 50px;
  }
  #line_use .step1 .image {
    width: 246px;
    margin-right: 35px;
  }
  #line_use .step1 .txt {
    font-size: 18px;
    line-height: 1.89;
    text-align: left;
  }
  #line_use .step2,
  #line_use .step3 {
    border-top: 1px dashed #838383;
  }
  #line_use .step2 {
    padding: 40px 0 50px;
  }
  #line_use .step2 .data_area {
    flex-direction: row-reverse;
    margin-top: 30px;
  }
  #line_use .step2 .image {
    width: 246px;
    margin-right: 35px;
  }
  #line_use .step2 li {
    font-size: 17px;
    line-height: 1.78;
    text-align: left;
    margin-top: 20px;
    width: 370px;
  }
  #line_use .step2 li:nth-of-type(1) {
    margin-top: 0;
  }
  #line_use .step3 {
    padding-top: 50px;
  }
  #line_use .step3 .txt {
    margin-top: 35px;
    line-height: 1.78;
  }
  #line_use .step3 .btn a {
    margin: 30px auto 0;
    width: 350px;
    background: #4b9411;
    color: #FFFFFF;
    text-align: center;
    display: block;
    border-radius: 10px;
    padding: 25px 0;
  }
  .step_title::before, .step_title::after {
    width: 50px;
  }
  .step_title::before {
    margin-right: 20px;
  }
  .step_title::after {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767.999px) {
  #mv_area {
    padding: 55px 0 50px;
  }
  #mv_area .logo img {
    width: 93px;
    height: auto;
  }
  #mv_area h1 {
    margin-top: 30px;
    font-size: 37px;
    font-weight: bold;
  }
  #mv_area h1 .en {
    font-size: 38px;
  }
  #mv_area h1 .line {
    font-size: 22px;
  }
  #mv_area h1 .line .en {
    font-size: 23px;
  }
  #mv_area .txt {
    margin-top: 25px;
    line-height: 1.64;
    font-size: 15px;
  }
  #page_navi {
    margin: 60px auto 0;
  }
  #page_navi a {
    display: block;
    width: 250px;
    margin: 0 auto;
    padding: 20px 0;
    border-radius: 5px;
    text-align: center;
  }
  #page_navi li:nth-of-type(2) a {
    margin-top: 30px;
  }
  .smp_image {
    margin-top: 55px;
    text-align: center;
  }
  #line_regist {
    margin-top: 90px;
    padding: 0 25px;
  }
  #line_regist h2 {
    color: #b63917;
    font-size: 22px;
    text-align: center;
    border: 2px solid #b63917;
    padding: 17px 0;
  }
  #line_regist .description {
    margin-top: 25px;
    font-size: 15px;
    line-height: 1.71;
  }
  #line_regist .line_link_btn a {
    width: 250px;
    margin: 30px auto 0;
    border-radius: 5px;
    padding: 20px 0;
    font-size: 16px;
    text-align: center;
  }
  #line_regist .note {
    margin-top: 30px;
    font-size: 15px;
    line-height: 1.71;
  }
  #line_use {
    margin-top: 80px;
    padding: 0 25px 65px;
  }
  #line_use h2 {
    color: #4b9411;
    font-size: 22px;
    text-align: center;
    border: 2px solid #4b9411;
    padding: 13px 0;
  }
  #line_use .step .description {
    font-size: 15px;
    text-align: center;
    line-height: 1.53;
    margin-top: 25px;
    font-weight: bold;
  }
  #line_use .step1 {
    margin-top: 27px;
  }
  #line_use .step1 .image {
    margin: 65px auto 0;
    width: 250px;
  }
  #line_use .step1 .txt {
    padding: 0 15px;
    margin: 40px auto 0;
    font-size: 15px;
    line-height: 1.64;
  }
  #line_use .step2,
  #line_use .step3 {
    margin-top: 45px;
  }
  #line_use .step2 .image {
    margin-top: 45px;
    text-align: center;
  }
  #line_use .step2 ul {
    padding: 0 15px;
    margin: 26px auto 0;
  }
  #line_use .step2 li {
    font-size: 15px;
    line-height: 1.79;
    margin-top: 13px;
  }
  #line_use .step2 li:nth-of-type(1) {
    margin-top: 0;
  }
  #line_use .step3 .txt {
    padding: 0 15px;
    margin: 30px auto 0;
    line-height: 1.79;
  }
  #line_use .step3 .btn a {
    margin: 28px auto 0;
    width: 250px;
    background: #4b9411;
    color: #FFFFFF;
    text-align: center;
    display: block;
    border-radius: 5px;
    padding: 20px 0;
  }
  .step_title {
    font-size: 20px;
  }
  .step_title::before, .step_title::after {
    width: 35px;
  }
  .step_title::before {
    margin-right: 13px;
  }
  .step_title::after {
    margin-left: 13px;
  }
}
