@charset "UTF-8";

.common_fv {
  background-image: url(../img/restore/restore/main_image.jpg);
}
@media screen and (min-width: 770px) {

  #restore_conts {
    margin-bottom: 125px;

    .overview_conts {
      .block {
        width: 618px;
        margin: 0 auto 117px 0;
        position: relative;
      }
      .block .text {
        line-height: 2.03;
        margin-bottom: 18px;
      }
      .block .text:last-of-type {
        margin-bottom: 0;
      }
      .block .img {
        position: absolute;
        width: 600px;
        top: -5px;
        right: -682px;
      }
      .block .block_title {
        font-size: 36px;
        padding-top: 24px;
        margin-bottom: 25px;
        line-height: 1.4;
      }
    }
    /* .overview_conts */

    .commitment_conts {

      .commitment_wrapper {
        display: flex;
        gap: 30px;
        justify-content: center;
        margin-bottom: 35px;
      }
      .inner_wrapper {
        width: 535px;
        padding: 35px 0 28px 0;
        background-color: var(--color-bg-main);
      }
      .title_block {
        padding: 0px 32px;
      }
      .sub_title.mincho {
        display: inline;
        font-size: 22px;
        line-height: 1.8;
        text-decoration: underline;
        text-decoration-color: var(--color-thema);
        text-decoration-thickness: 1px;
        /* これが「border-offset」の代わりです */
        text-underline-offset: 12px;
      }
      .commitment_title.mincho {
        font-size: 30px;
        line-height: 1.5;
        margin: 12px 0 22px;
      }
      .commitment_img {
        width: 400px;
        padding: 0 50px;
        margin: 0 auto 23px;
      }
      .text {
        line-height: 1.9;
        padding: 0px 32px;
      }
      .text_02 {
        line-height: 1.9;
        padding: 0px 32px;
        margin-bottom: 2px;
      }
      .btn_arrow {
        margin: 0 20px 0 auto;
      }
      .inner_wrapper_02 {
        text-align: center;
        background-color: var(--color-bg-main);
        padding: 70px 0;
        width: 1100px;
        margin: 0 auto;
      }
      .title_block_02 {
        margin-bottom: 8px;
      }
      .subtitle_02 {
        display: inline-block;
        color: var(--color-thema);
        font-size: 22px;
        line-height: 1.5;
        border-bottom: 1px solid var(--color-thema);
        padding-bottom: 3px;
        margin-bottom: 14px;
      }
      .commitment_title_02 {
        color: var(--color-thema);
        font-size: 32px;
        font-weight: normal;
        margin: 0;
      }
      .lead_text {
        color: var(--color-thema);
        margin-bottom: 47px;
      }
      .casecard {
        width: 925px;
        margin: 0 auto;
        background-color: #f4f0ed;
        padding: 37px 40px 69px;
        box-sizing: border-box;
        margin-bottom: 40px;
      }
      .caselabel {
        display: inline-block;
        color: var(--color-thema);
        font-size: 16px;
        line-height: 1.5;
        border-bottom: 1px solid var(--color-thema);
        padding-bottom: 2px;
        margin-bottom: 4px;
      }
      .casetitle {
        color: var(--color-thema);
        font-size: 28px;
        font-weight: normal;
        margin: 0;
      }
      .casedescription {
        line-height: 1.9;
        color: var(--color-thema);
        margin-bottom: 30px;
      }
      .case_imagelist {
        display: flex;
        justify-content: flex-start;
        gap: 30px;
        flex-wrap: wrap;
      }
      .imageitem {
        width: 400px;
      }
      .imageitem img {
        width: 100%;
        height: auto;
        display: block;
      }
    }
    /* .commitment_conts */

  }
  /* #restore_conts */
}

@media screen and (max-width:769px) {
  .line_break {
    display: inline-block;
  }
  .common_fv img {
    width: 50%;
    padding-top: 15vw;
    margin-left: auto;
    margin-right: auto;
  }
  #restore_conts {
    margin-bottom: 80px;

    .overview_conts {
      .block {
        width: 100%;
        margin: 0 auto 55px 0;
        position: relative;
        display: flex;
        flex-direction: column;
      }
      .block .text {
        line-height: 2.03;
        margin-bottom: 18px;
      }
      .block .text:last-of-type {
        margin-bottom: 0;
        order: 3;
      }
      .block .img {
        width: 100%;
        order: 2;
        margin-bottom: 15px;
      }
      .block .block_title {
        font-size: 24px;
        text-align: center;
        line-height: 1.7;
        margin-bottom: 25px;
        order: 1;
      }
    }
    /* .overview_conts */

    .commitment_conts {

      .commitment_wrapper {
        display: flex;
        gap: 30px;
        justify-content: center;
        margin-bottom: 35px;
        flex-direction: column;
      }
      .inner_wrapper {
        width: 100%;
        padding: 30px 0 20px 0;
        background-color: var(--color-bg-main);
      }
      .title_block {
        padding: 0px 6%;
      }
      .sub_title.mincho {
        display: inline;
        font-size: 18px;
        line-height: 2.1;
        text-decoration: underline;
        text-decoration-color: var(--color-thema);
        text-decoration-thickness: 1px;
        text-underline-offset: 8px;
      }
      .commitment_title.mincho {
        font-size: 22px;
        line-height: 1.5;
        margin: 12px 0 20px;
      }
      .commitment_img {
        width: 100%;
        margin: 0 auto 15px;
        padding: 0 5%;
        box-sizing: border-box;
      }
      .text {
        line-height: 1.9;
        text-align: left;
        padding: 0 6%;
        margin-bottom: 20px;
      }
      .text_02 {
        line-height: 1.9;
        text-align: left;
        padding: 0 6%;
        margin-bottom: 25px;
      }
      .btn_arrow {
        margin: 0 20px 0 auto;
      }
      .inner_wrapper_02 {
        background-color: var(--color-bg-main);
        padding: 30px 0 10px;
        width: 100%;
        margin: 0 auto;
      }
      .title_block_02 {
        margin-bottom: 8px;
      }
      .subtitle_02 {
        display: inline;
        font-size: 18px;
        line-height: 2.1;
        text-decoration: underline;
        text-decoration-color: var(--color-thema);
        text-decoration-thickness: 1px;
        text-underline-offset: 8px;
        padding: 0px 6%;
      }
      .commitment_title_02 {
        color: var(--color-thema);
        font-size: 22px;
        line-height: 1.5;
        font-weight: normal;
        margin: 0;
        padding: 0px 6%;
        margin: 12px 0 20px;
      }
      .lead_text {
        color: var(--color-thema);
        margin-bottom: 47px;
        padding: 0px 6%;
      }
      .casecard {
        width: 90%;
        margin: 0 auto;
        background-color: #f4f0ed;
        padding: 37px 5% 45px;
        box-sizing: border-box;
        margin-bottom: 40px;
      }
      .caseheader {
        text-align: center;
        margin-bottom: 12px;
      }
      .caselabel {
        display: inline-block;
        color: var(--color-thema);
        font-size: 16px;
        line-height: 1.5;
        border-bottom: 1px solid var(--color-thema);
        padding-bottom: 2px;
        margin-bottom: 10px;
      }
      .casetitle {
        color: var(--color-thema);
        font-size: 21px;
        line-height: 1.5;
        font-weight: normal;
        margin: 0;
      }
      .casedescription {
        line-height: 1.8;
        color: var(--color-thema);
        margin-bottom: 25px;
      }
      .case_imagelist {
        display: flex;
        justify-content: flex-start;
        gap: 3%;
        flex-wrap: wrap;
      }
      .imageitem {
        width: 48.5%;
        margin-bottom: 11px;
      }
      .imageitem img {
        width: 100%;
        height: auto;
        display: block;
      }
    }
    /* .commitment_conts */



  }
  /* #restore_conts */

}