@charset "UTF-8";


.under_head_ttl {
  .en {
    white-space: nowrap;
    text-align: center;
    line-height: 1.18;
  }
}

.sec{
  padding-bottom: 0 !important;
}

.contact_btnWrap{
  margin-top: 90px;
}


@media all and (min-width: 681px) {
  .under_head {
    margin-top: 21px;
  }
  .under_head_ttl {
    .en {
      font-size: 48px;
    }
    .ja {
      margin-top: 12px;
    }
  }
  .under_head_txtwrap {
    padding-top: 65px !important;
  }

  .under_anchor_btn{
    .btn03{
      width: 263px;
    }
  }

}

@media all and (max-width: 680px) {
  .under_head_ttl {
    .ja {
      line-height: 1.4;
    }
  }
  .under_head_subttl {
    .b_txt {
      line-height: 1.4;
    }
  }
  .under_anchor_btn {
    a {
      width: 287px;
      padding-left: 20px;
      padding-right: 20px;
    }
  }
  .contact_btnWrap{
    margin-top: 45px;
  }

}


/* structure_wrap
---------------------------------------*/
.spec_ttl{
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.spec_ttl.ttl_c{
  text-align: center;
  margin-bottom: 45px;
}

.spec_txt{
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 1.6em;
}


/*タブ*/
.tab-container {
  display: flex;
  gap: 0 8px;
  margin-top: 75px;
}
.tab {
  width: 234px;
  height: 58px;
  border-radius: 20px 20px 0 0;
  background-color: #D1C1A2;
  font-size: 22px;
  color: #EEEEEA;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.tab.active {
  background-color: #9A742E;
}

.spec-container{
  .content {
    height: auto;
    background-color: #F7F7F7;
    padding: 60px 42px;
    display: none;
    position: relative;
  }
  .content.show {
    display: block;
  }

}



.structure02{
  .d_flex{
    align-items: center;
  }
  .spec_txt{
    margin-top: 0;
  }
  .sub_box{
    background-color: #EEEEEA;
    border-radius: 5px;
    padding: 10px 0 10px 20px;
    margin-top: 20px;

    > p{
      font-size: 14px;
      line-height: 1.71;
      color: #9A742E;
    }
  }
}

.equipment_img1-2{
  > div{
    p{
      font-size: 14px;
      margin-top: 1em;
    }
  }
  > p{
    width: 100%;
    font-size: 12px;
    text-align: right;
    margin-top: 2em;
  }
}


.spec_kome{
  font-size: 12px;
  line-height: 1.66;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 2.5em;
}

.spec_h4{
  font-size: 18px;
  font-weight: 500;
  margin-top: 1.5em;
}
.spec_txt2{
  font-size: 14px;
  font-weight: 400;
  line-height: 1.71;
  text-align: justify;
  margin-top: 1.5em;
}

.equipment01_kome{
  font-size: 12px;
  line-height: 1.66;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 2.5em;

  a{
    color: inherit;
    text-decoration: underline;
  }
}
.sequipment05_kome{
  font-size: 12px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-top: 1em;
}


.support_ttl{
  font-size: 32px;
  font-weight: 500;
  display: flex;
  align-items: center;

  .support_img01{
    width: 189px;
    margin-right: 30px;
  }
}

.support01_sub01{
  margin-top: 75px;

  > div{
    width: 491px;
  }
}
.support01_sub02{
  margin-top: 60px;
}

.support02_sub{
  display: flex;
  align-items: center;

  .support02_img{
    width: 222px;
  }
  dl{
    width: 228px;
    margin-left: 26px;

    dt{
      font-size: 18px;
      span{
        font-size: 14px;
        font-weight: 400;
        display: block;
        margin-bottom: 10px;
      }
    }
    dd{
      font-size: 14px;
      line-height: 1.71;
      font-weight: 400;
      text-align: justify;
      margin-top: 20px;
    }
  }

}
.support02_sub:first-child dd{
  letter-spacing: 0.05em;
}
.equipment04_sub{
  position: relative;
}
.equipment04_sub::before{
  content: '';
  width: 1px;
  height: 100%;
  position: absolute;
  left: -22px;
  top: 0;
  border-left: 1px solid #707070;
}

@media all and (min-width: 681px) {
  .d_flex{
    display: flex;
    justify-content: space-between;
  }

  .support_wrap{
    .tab {
      width: 322px;
    }
  }

  .support02_sub:first-child .support02_img{
    width: 288px;
    margin-right: -10px;
  }
  .support02_sub:nth-child(2) .support02_img{
    width: 296px;
  }

  .w565{
    width: 565px;
  }
  .w460{
    width: 460px;
  }


  .structure_img01{
    width: 245px;
    margin: 0 auto 40px;
  }
  .structure_img02{
    width: 442px;
  }
  .structure_img03{
    width: 235px;
  }

  .structure02_img{
    display: flex;
    align-items: flex-end;

    .structure_img04{
      width: 267px;
    }
    .structure_img05{
      width: 273px;
      margin-left: 10px;
    }
  }

  .structure03{
    .d_flex{
      justify-content: center;
      align-items: center;

      .structure_img06{
        width: 468px;
        margin-left: 75px;
      }
    }
  }

  .flex_4item{
    > div{
      width: 245px;
    }
  }

  .flex_3item{
    > div{
      width: 318px;
    }
  }

  .equipment_img1-2{
    flex-wrap: wrap;

    > div{
      width: 573px;
    }
  }

  .equipment01{
    .d_flex{
      align-items: center;
    }

    .equipment01_kome{
      span{
        display: inline-block;
      }

      a:hover{
        text-decoration: none;
      }
    }
    .equipment_img03{
      width: 440px;
    }
  }

  .support_img02{
    width: 619px;
  }
  .support_img03{
    width: 367px;
  }
  
  
}

@media all and (max-width: 680px) {
  .spec_ttl{
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.44;
  }

  .spec_ttl.ttl_c{
    text-align: left;
    margin-bottom: 25px;
  }

  .spec_txt{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71;
    margin-top: 1em;
  }

  /*タブ*/
  .tab-container {
    flex-wrap: wrap;
    gap: 5px 4px;
    margin-top: 30px;
  }
  .tab {
    width: calc((100% - 4px) / 2);
    height: 45px;
    border-radius: 5px;
    font-size: 16px;
  }

  .spec-container{
    margin-top: 20px;

    .content {
      padding: 30px 30px 35px 30px;
    }
  }

  .equipment_img1-2{
    > div{
      p{
        font-weight: 400;
        line-height: 1.57;
        margin-top: 0.6em;
      }
    }
    > div + div{
      margin-top: 25px;
    }
    > p{
      font-weight: 400;
      text-align: left;
      margin-top: 2em;
    }
  }


  .structure02{
    /*.spec_txt{
      margin-top: 0;
    }*/
    .spec_ttl.ttl_c{
      margin-bottom: 15px;
    }
    .sub_box{
      padding: 15px;
      margin-top: 20px;

      > p{
        line-height: 1.57;
      }
      .structure_img03{
        margin-top: 10px;
      }
    }
  }

  .spec_kome{
    font-size: 12px;
    font-weight: 400;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 1.5em;
  }

  .spec_h4{
    margin-top: 1em;
  }
  .spec_txt2{
    margin-top: 1.1em;
  }

  .flex_4item{
    div + div{
      margin-top: 30px;
    }
  }
  .flex_3item{
    div + div{
      margin-top: 30px;
    }
  }

  .equipment01_kome{
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 1.5em;

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

  .sequipment05_kome{
    line-height: 1.4;
    letter-spacing: 0;
    text-indent: -1em;
    padding-left: 1em;
  }


  .support_ttl{
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
    flex-direction: column;

    .support_img01{
      margin-right: 0;
      margin-bottom: 15px;
    }
  }

  .support01_sub01{
    margin-top: 30px;

    > div{
      width: 100%;
    }
    > div + div{
      border-top: 1px solid #707070;
      margin-top: 25px;
      padding-top: 25px;
    }
  }
  .support01_sub02{
    margin-top: 45px;
  }


  .support02_sub{
    display: block;

    .support02_img{
      width: 100%;
    }
    dl{
      width: 100%;
      margin-left: 0;
      margin-top: 18px;

      dd{
        margin-top: 1.1em;
      }
    }
  }
  .support02_sub + .support02_sub{
    margin-top: 30px;
  }

  .structure_img01{
    width: 165px;
    margin: 0 auto 30px;
  }
  .structure_img02{
    margin-top: 35px;
  }
  .structure_img04,
  .structure_img05,
  .structure_img06{
    margin-top: 25px;
  }
  .equipment_img03{
    margin-top: 20px;
  }
  .support_img03{
    margin-top: 20px;
  }
  .equipment04_sub{
    margin-top: 50px !important;
  }
  .equipment04_sub::before {
    width: 100%;
    height: 1px;
    left: 0;
    top: -25px;
    border-left: none;
    border-top: 1px solid #707070;
  }



}


/* aaa
---------------------------------------*/


@media all and (min-width: 681px) {
}

@media all and (max-width: 680px) {
}