@charset "UTF-8";

.contents_wrap.about_intro{
  max-width: 1150px;
  margin: 70px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  overflow: hidden;
}
.contents_wrap.about_intro .txt_box{
  padding-left: 6%;
  max-width: 595px;
  margin-right: 80px;
}
.contents_wrap.about_intro .txt_box .ttl{
  font-size: 4.7rem;
  line-height: 1.602;
  letter-spacing: 0.015em;
  margin-top: 50px;
}
.contents_wrap.about_intro .txt_box .ttl > span{
  display: block;
  font-size: 2.6rem;
  letter-spacing: 0.025em;
}
.contents_wrap.about_intro .txt_box .txt{
  font-size: 1.6rem;
    line-height: 2;
  margin-top: 55px;
  margin-bottom: 30px;
}
.contents_wrap.about_intro .company{
  margin-top: 80px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding-left: 6%;
}
.contents_wrap.about_intro .company .logo{
  width: 120px;
  margin-right: 70px;
}
.contents_wrap.about_intro .company .txt{
  line-height: 2;
  width: 57.5%;
}
.contents_wrap.about_access{
  margin-top: 190px;
  padding-bottom: 210px;
  position: relative;
  z-index: 1;
}
.contents_wrap.about_access::after{
  content: "";
  position: absolute;
  top: 35px;
  left: 0;
  margin: 0 -5.5%;
  width: 100vw;
  height: calc(100% - 35px);
  background-color: #E6E6E6;
	margin-left: calc(-50vw + 50%);
	margin-right: calc(-50vw + 50%);
}
.contents_wrap.about_access .ttl{
  font-size: 3.8rem;
    line-height: 1.75;
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  z-index: 2;
}
.contents_wrap.about_access .ttl > span{
  display: block;
  color: #808080;
  font-size: 2.4rem;
  line-height: 1.157;
  letter-spacing: 0.025em;
}
.contents_wrap.about_access .access_flex{
  max-width: 1300px;
  display: flex;
  margin: 110px auto 0;
  position: relative;
  z-index: 2;
}
.contents_wrap.about_access .access_flex.no2{
  max-width: 1000px;
  margin: 30px auto 0;
}
.contents_wrap.about_access .access_flex.no3{
  margin: 0;
}
.contents_wrap.about_access .access_flex .img1{
  margin-right: 6%;
  margin-bottom: 20px;
}
.contents_wrap.about_access .access_flex .img2{
  margin-top: 5vw;
  margin-right: 16%;
}
.contents_wrap.about_access .access_flex .img3{
  margin: 0 0 7vw 55px;
}
.contents_wrap.about_access .access_flex .txtbox > p{
    line-height: 2;
}
.contents_wrap.about_access .access_flex .txtbox > a{
    text-decoration: underline;
}
.contents_wrap.about_access .access_flex .txtbox > a > img{
  margin-left: 5px;
}
.contents_wrap.about_access .access_flex .txtbox > a + p{
  margin-top: 45px;
}
.contents_wrap.about_access .access_flex .g-map{
  max-width: 1150px;
  width: 100%;
  margin: 150px auto 0;
}
.contents_wrap.about_access .access_flex .g-map > iframe{
  width: 100%;
  height: 400px;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}
.contents_wrap.about_company{
  margin: 170px auto 0;
  max-width: 865px;
  padding-left: 60px;
}
.contents_wrap.about_company .ttl{
  font-size: 3.8rem;
    line-height: 1.75;
  letter-spacing: 0.2em;
}
.contents_wrap.about_company .ttl > span{
  color: #848585;
  font-size: 2rem;
  letter-spacing: 0.025em;
  margin-left: 35px;
}
.contents_wrap.about_company > dl{
  margin-top: 95px;
  max-width: 632px;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #7D153D;
}
.contents_wrap.about_company > dl > dt,
.contents_wrap.about_company > dl > dd{
  border-bottom: 1px solid #7D153D;
  padding: 30px 0;
  font-size: 1.5rem;
    line-height: 1.89;
}
.contents_wrap.about_company > dl > dt{
  width: 100px;
}
.contents_wrap.about_company > dl > dd{
  width: calc(100% - 100px);
}
.contents_wrap.about_company.recruit{
  margin: 130px auto 0;
}
.contents_wrap.about_company.recruit > p{
    line-height: 2.562;
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .contents_wrap.about_intro{
    margin: 40px auto 0;
    padding: 0 5%;
    display: block;
  }
  .contents_wrap.about_intro .txt_box{
    padding: 0;
    margin-right: 0;
  }
  .contents_wrap.about_intro .txt_box .ttl{
    font-size: 3.5rem;
    margin-top: 0;
  }
  .contents_wrap.about_intro .txt_box .ttl > span{
    font-size: 1.9rem;
  }
  .contents_wrap.about_intro .txt_box .txt{
    font-size: 1.3rem;
    margin-top: 30px;
    margin-bottom: 25px;
  }
  .contents_wrap.about_intro .company{
    margin-top: 45px;
    display: block;
    padding-left: 0;
  }
  .contents_wrap.about_intro .company .logo{
    width: 50px;
    margin: 0 auto;
  }
  .contents_wrap.about_intro .company .txt{
    font-size: 1.3rem;
    line-height: 2;
    margin-top: 25px;
    width: 100%;
  }
  .contents_wrap.about_access{
    margin-top: 45px;
    padding-bottom: 90px;
  }
  .contents_wrap.about_access::after{
    top: 20px;
  }
  .contents_wrap.about_access .ttl{
    font-size: 2.5rem;
    letter-spacing: 0.3em;
  }
  .contents_wrap.about_access .ttl > span{
    font-size: 1.2rem;
  }
  .contents_wrap.about_access .access_flex{
    display: block;
    margin: 30px auto 0;
    padding: 0 5%;
  }
  .contents_wrap.about_access .access_flex .img1{
    margin-right: 0;
    margin-bottom: 0;
  }
  .contents_wrap.about_access .access_flex .img2{
    display: none;
  }
  .contents_wrap.about_access .access_flex .img3{
    display: none;
  }
  .contents_wrap.about_access .access_flex .txtbox{
    margin-top: 25px;
  }
  .contents_wrap.about_access .access_flex .txtbox > p{
    font-size: 1.2rem;
  }
  .contents_wrap.about_access .access_flex .txtbox > a{
    font-size: 1.2rem;
  }
  .contents_wrap.about_access .access_flex .txtbox > a > img{
    width: 15px;
  }
  .contents_wrap.about_access .access_flex .txtbox > a + p{
    margin-top: 30px;
  }
  .contents_wrap.about_access .access_flex .g-map{
    margin: 75px auto 0;
  }
  .contents_wrap.about_access .access_flex .g-map > iframe{
    width: 100%;
    height: 225px;
  }
  .contents_wrap.about_company{
    margin: 70px auto 0;
    padding-left: 0;
  }
  .contents_wrap.about_company .ttl{
    font-size: 2.5rem;
    letter-spacing: 0.3em;
    text-align: center;
  }
  .contents_wrap.about_company .ttl > span{
    display: block;
    font-size: 1.2rem;
    margin-left: 0;
  }
  .contents_wrap.about_company > dl{
    margin-top: 45px;
    border-top: 1px solid #717071;
  }
  .contents_wrap.about_company > dl > dt,
  .contents_wrap.about_company > dl > dd{
    border-bottom: 1px solid #717071;
    font-size: 1.4rem;
  }
  .contents_wrap.about_company > dl > dt{
    padding-left: 5%;
    width: 90px;
  }
  .contents_wrap.about_company > dl > dd{
    padding-right: 5%;
    width: calc(100% - 90px);
  }
  .contents_wrap.about_company.recruit{
    margin: 80px auto 0;
  }
  .contents_wrap.about_company.recruit > p{
    font-size: 1.3rem;
    line-height: 2;
    margin-top: 35px;
  }
}