@charset "utf-8";
@media screen and (max-width: 900px){

  .service{
    margin-top: 80px;
    margin-bottom: 80px;
  }

  .service_intro{
    max-width: 100%;
    margin: 0 auto 30px;
    padding: 0 20px;
  }

  .service_lead{
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 30px;
  }

  .service_price{
    padding: 16px 0 8px;
  }

  .service_price p:first-child{
    font-size: 18px;
    line-height: 1.8;
  }

  .service_price p:last-child{
    font-size: 13px;
    line-height: 1.8;
  }

  .service_block{
    margin-bottom: 65px;
  }

  .service_block h3{
    max-width: 100%;
    padding: 0 20px;
    margin-bottom: 20px;
    font-size: 18px;
  }

  .service_lines{
    max-width: 100%;
    padding: 0 20px;
  }

  .service_lines .flex{
    align-items: flex-start;
    padding: 0 0 8px;
    margin-bottom: 18px;
  }

  .service_dt{
    width: 90px;
    min-width: 90px;
    font-size: 14px;
    line-height: 1.8;
  }

  .service_dd{
    width: auto;
    max-width: none;
    flex: 1;
    font-size: 14px;
    line-height: 1.9;
  }

  .case_title{
    max-width: 100%;
    padding: 0;
    margin: 0 auto;
    gap: 14px;
  }

  .case_title h3,
  .case_title h4{
    font-size: 18px;
    line-height: 1.6;
  }

  .case_title h4{
    margin-left: 0;
    letter-spacing: 0.04em;
  }

  .case_box{
    max-width: 100%;
    padding: 0 20px;
  }

  .case_row{
    padding: 12px 0;
  }

  .case_label{
    width: 90px;
    min-width: 90px;
    padding-right: 16px;
    font-size: 14px;
    line-height: 1.8;
  }

  .case_text{
    font-size: 14px;
    line-height: 1.9;
  }

  .case_text p{
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 4px;
  }
}

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

  .service{
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .service_intro{
    padding: 0 20px;
    margin: 0 auto 24px;
  }

  .service_lead{
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 26px;
  }

  .service_price{
    padding: 12px 0 6px;
  }

  .service_price p:first-child{
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 4px;
  }

  .service_price p:last-child{
    font-size: 12px;
    line-height: 1.8;
  }

  .service_block{
    margin-bottom: 50px;
  }

  .service_lines{
    padding: 0 20px;
  }

  .service_lines .flex{
    display: block;
    padding: 0 0 8px;
    margin-bottom: 16px;
  }

  .service_dt{
    width: 100%;
    min-width: auto;
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 1.7;
  }

  .service_dd{
    width: 100%;
    max-width: 100%;
    font-size: 13px;
    line-height: 1.8;
  }

  .case_title{
    margin: 0 auto ;
    gap: 10px;
    flex-wrap: wrap;
  }

  .case_title h3,
  .case_title h4{
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 0;
    padding-bottom: 15px;
  }

  .case_title h4{
    margin-left: 0;
  }

  .case_box{
    padding: 0 20px;
  }

  .case_row{
    display: block;
    padding: 12px 0;
  }

  .case_label{
    width: 100%;
    min-width: auto;
    padding-right: 0;
    margin-bottom: 4px;
    font-size: 13px;
    line-height: 1.7;
  }

  .case_text{
    font-size: 13px;
    line-height: 1.8;
  }

  .case_text p{
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 4px;
  }
}

@media screen and (max-width: 360px){
  .case_title{
    flex-wrap: wrap;
    gap: 2px 10px;
    align-items: flex-start;
  }

    .case_title h3{
    padding-bottom: 8px;
    width: 100%;
  }

  .case_title h4{
    margin-left: 20px;
    padding-bottom: 12px;
    width: 100%;
  }
}