@media screen {
  body{
    overflow-x: hidden;
  }

  h1{
    display: block;
    width: 100%;
    padding-top: 8vw;
    font-size: 2.33333vw;
    text-align: center;
    color: #A2001A;
  }

  h2{
    text-align: center;
    border-bottom: 0.666667vw solid #A2001A;
    margin: 0 auto;
    width: 56.666667vw;
    color: #A2001A;
    padding: 5.833333vw 0 1.416667vw 0;
    font-size: 2.33333vw;
    line-height: 1.75em;
  }

  h3{
    color: #A2001A;
    font-size: 1.5vw;
    line-height: 1.78em;
    font-family: source-han-serif-japanese, serif;
    font-weight: 500;
    font-style: normal;
    padding-top: 3.75vw;
  }

  .viContainer{
    margin-top:3.3333vw;
    position: relative;
    height: 80.166667vw;
    width: 100%;
  }

  .viContainer p{
    position: relative;
    width: 100%;
    text-align: center;
    font-size: 2vw;
    line-height: 2.5em;
    top: 60.5vw;
  }

  .viMainImgContainer{
    position: absolute;
    left: 0;
    top: 0;
    width: 44.6666667vw;
    height: 37.583333vw;
    background-color: #A2001A;
    z-index: -1;
  }

  .viMainImg{
    width: 75vw;
    position: absolute;
    top: 4.583333vw;
    left: 25vw;
    z-index: 4;
  }

  .viSubImgContainer{
    position: absolute;
    width: 54.25vw;
    height: 61.5vw;
    top: 17.5vw;
    left: 7.5vw;
    z-index: -2;
    background:repeating-linear-gradient(-40deg, #F6F5F5 0, #F6F5F5 1px, #fff 1px, #fff 2px);
  }

  .viSubImg{
    position: absolute;
    width: 25vw;
    top: 27.75vw;
    left: -7.5vw;
  }

  .aboutContainer{
    width: 100%;
    position: relative;
    padding-top: 15.75vw;
    margin: 0 auto;
    height: 78.333333vw;
  }

  .aboutContainer img{
    position: absolute;
    width: 25vw;
  }

  .aboutContainer .aboutImg01{
    top: 0;
    right: 0;
  }

  .aboutContainer .aboutImg02{
    top: 17.05vw;
    right: 11.75vw;
  }

  .aboutContainer .aboutImg03{
    top: 34.1vw;
    right: 0;
  }

  .aboutContainer .aboutImg04{
    top: 51.15vw;
    right: 11.75vw;
  }

  .aboutContainer .aboutImg05{
    top: 68.2vw;
    right: 0;
  }

  .aboutContainer p{
    width: 37.5vw;
    padding: 0 0 4vw 12.0833333vw;
    font-size: 1.5vw;
  }

  .leadersMemberContainer{
    width: 100%;
    background:repeating-linear-gradient(-40deg, #FAF2F3 0, #FAF2F3 1px, #fff 1px, #fff 2px);
  }

  .leadersMember{
    width: 73vw;
    margin: 0 auto;
    padding-top: 1vw;
    padding-bottom: 5.583333vw;
  }

  .leadersMember dl{
    line-height: 1.78em;
    font-family: source-han-serif-japanese, serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.5vw;
  }

  .leadersMember dl dt{
    display: inline-block;
    width: 12vw;
  }

  .leadersMember dl span{
    display: inline-block;
    padding-left: 1.3333vw;
  }

  .leadersMember dl dt .addSpace{
    display: inline-block;
    padding-left: 2.6666667vw;
  }
  .leadersMember dl dd{
    display: inline-block;
  }
  .locals-about-text-content{
    width:73vw;
    margin:70px auto 20px;
    text-align: center;
  }
  .locals-about-text-content p{
    line-height: 1.78em;
    font-family: source-han-serif-japanese, serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.9vw;
  }
  .locals-about-content img{
    max-width:500px;
    display: block;
    margin: 0 auto;
  }
  .locals-about-content{
    padding-bottom: 40px;
  }

  /* ----------------------------------------------------------------------- */
  /* 768px 以下の画面用 */
  /* ----------------------------------------------------------------------- */
  @media (max-width:768px) {

    h1{
      padding-top: 10.8vw;
      font-size: 5.066667vw;
    }

    h2{
      border-bottom: 1.4666667vw solid #A2001A;
      width: 77.333333vw;
      padding: 12.666667vw 0 4.2666667vw 0;
      font-size: 5.066667vw;
    }

    h3{
      font-size: 4.266667vw;
      padding-top: 6vw;
      text-align: center;
    }
    h3.forSp{
      padding-top: 17.3vw;
    }

    .viContainer{
      margin-top: 7.466667vw;
      height: 195.2vw;
    }

    .viContainer p{
      font-size: 3.466667vw;
      top: 76.8vw;
    }

    .viMainImgContainer{
      width: 86.8vw;
      height: 91.2vw;
      background:repeating-linear-gradient(-40deg, #FAF2F3 0, #FAF2F3 1px, #fff 1px, #fff 2px);
    }

    .viMainImg{
      width: 100vw;
      top: 5.333333vw;
      left: 0;
    }

    .viSubImgContainer{
      position: absolute;
      width: 50vw;
      height: 40vw;
      top: 150.6vw;
      right: 0;
      left: auto;
      z-index: -2;
      background: none;
      background-color: #A2001A;
    }

    .viSubImg{
      position: absolute;
      width: 66.666667vw;
      top: -15.55555556vw;
      left: -33.33333vw;
    }

    .aboutContainer{
      width: 100%;
      position: relative;
      padding-top: 9.3333vw;
      margin: 0 auto;
      height: 479.33333vw;
    }

    .aboutContainer img{
      position: static;
      width: 66vw;
      padding: 0 17vw;
    }

    .aboutContainer .aboutImg01{
      top: auto;
      right: auto;
    }

    .aboutContainer .aboutImg02{
      top: auto;
      right: auto;
    }

    .displaySp{
      position:relative;
    }

    .aboutContainer .aboutImg03{
      top: auto;
      right: auto;
      padding-bottom: 8vw;
      padding-top: 5vw;
    }

    .aboutContainer .displaySp::after{
      display: block;
      content: '';
      width: 33.33333vw;
      height: 33.33333vw;
      background-color: #A2001A;
      position: absolute;
      top: 24vw;
      left: 0;
      z-index: 4;
      mix-blend-mode: multiply;
    }

    .aboutContainer .aboutImg04{
      top: auto;
      right: auto;
      padding-bottom: 13vw;
    }

    .aboutContainer .aboutImg05{
      top: 68.2vw;
      right: 0;
    }

    .aboutContainer p{
      width: 80vw;
      margin: 0 auto;
      padding: 10vw 0;
      font-size: 3.4666667vw;
      line-height: 1.92em;
    }

    .leadersMemberContainer{
      width: 100%;
      background:repeating-linear-gradient(-40deg, #FAF2F3 0, #FAF2F3 1px, #fff 1px, #fff 2px);
    }

    .leadersMember{
      width: 80vw;
      margin: 0 auto;
      padding-top: 0;
    }

    .leadersMember dl{
      font-size: 4.26667vw;
      text-align: center;
      padding-top: 10vw;
    }

    .leadersMember dl dt{
      display: block;
      width: 100%;
    }

    .leadersMember dl span{
      display: inline-block;
      padding-left: 1.3333vw;
    }

    .leadersMember dl dt .addSpace{
      display: inline-block;
      padding-left: 2.6666667vw;
    }
    .leadersMember dl dd{
      display: block;
      font-size: 3.466667vw;
    }
    .locals-about-content img{
      width:66vw;
    }
    .locals-about-text-content p{
      font-size: 3.4666667vw;
    }
  }
}

@media print{
  .viMainImg{
    width: 100%;
  }
}
