@font-face {
  font-family: "Marcellus", serif;
  font-family: "NotoSansJP", sans-serif;
}
.lp h2.subttl_h2 {
  font-size: 1.1458333333vw;
  font-weight: 600;
  letter-spacing: 0.1041666667vw;
  margin: 0;
}
.lp .subttl {
  font-size: 1.0416666667vw;
  font-weight: 600;
}
.lp a.btn {
  border-bottom: 1px #000000 solid;
  width: 15.625vw;
  display: block;
  margin: auto;
  padding-bottom: 0.7291666667vw;
  position: relative;
}
.lp a.btn:after {
  content: "";
  width: 1.5104166667vw;
  height: 1.0416666667vw;
  background: url(../../../img/hapt_ec/common/btn_icon.png) no-repeat right center/contain;
  position: absolute;
  bottom: 0.8333333333vw;
  margin: auto 0;
  right: 0;
}
.lp p {
  font-size: 0.8333333333vw;
  margin: 0;
  line-height: 1.75;
}
.lp img {
  max-width: 100%;
}
.lp #mv {
  margin-top: 4.1666666667vw;
  background-image: url(../../../img/hapt_ec/philosophy/mv.jpg);
  background-size: cover;
  background-position-y: center;
  width: 100%;
  height: 26.0416666667vw;
}
.lp #mv .wrap {
  display: flex;
  align-items: center;
  justify-content: left;
  height: 26.0416666667vw;
}
.lp #mv .wrap .ttl_h1 {
  color: #fff;
  font-size: 1.71875vw;
}
.lp .lead {
  padding-top: 5.2083333333vw;
}
.lp .lead .ttl_wrap {
  text-align: center;
  padding-bottom: 3.6458333333vw;
}
.lp .lead .ttl_wrap .subttl2 {
  font-size: 1.8229166667vw;
  font-weight: 600;
  letter-spacing: 0.1041666667vw;
  margin: 0;
  background: linear-gradient(transparent 60%, #eaeaea 60%);
  display: inline-block;
}
.lp .lead .ttl_wrap p.subttl {
  font-size: 0.8333333333vw;
  padding-top: 0.5208333333vw;
  text-align: center;
}
.lp .lead .ttl_wrap p.txt {
  padding-top: 1.3541666667vw;
}
.lp #philosophy {
  padding-top: 5.2083333333vw;
}
.lp #philosophy .p2 {
  width: 50%;
}
.lp #philosophy .p2 .ttl_wrap2 {
  padding-left: 2.6041666667vw;
  padding-bottom: 3.6458333333vw;
  color: #989898;
}
.lp #philosophy .p2 .ttl_wrap2 .subttl_h2 {
  font-size: 0.8333333333vw;
  font-weight: 600;
  letter-spacing: 0.1041666667vw;
  text-align: left;
}
.lp #philosophy .p2 .ttl_wrap2 p.subttl {
  font-size: 0.8333333333vw;
  padding-top: 1.0416666667vw;
}
.lp #philosophy .p2 .ttl_wrap2 p.txt {
  padding-top: 1.3541666667vw;
}
.lp #philosophy .p2 .txt_wrap2 {
  padding-left: 5.2083333333vw;
  box-sizing: border-box;
  padding-bottom: 3.125vw;
}
.lp #philosophy .p2 .txt_wrap2 .line {
  width: 3.125vw;
  height: 2px;
  margin-top: 0.5208333333vw;
  margin-bottom: 1.0416666667vw;
  position: relative;
}
.lp #philosophy .p2 .txt_wrap2 .line:after {
  content: "";
  position: absolute;
  width: 3.125vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #philosophy .ttl_wrap {
  text-align: center;
  padding-bottom: 3.6458333333vw;
}
.lp #philosophy .ttl_wrap .subttl_h2 {
  font-size: 1.0416666667vw;
  font-weight: 600;
  letter-spacing: 0.1041666667vw;
}
.lp #philosophy .ttl_wrap p.subttl {
  font-size: 0.8333333333vw;
  padding-top: 0.5208333333vw;
  text-align: center;
}
.lp #philosophy .ttl_wrap p.txt {
  padding-top: 1.3541666667vw;
}
.lp #philosophy .list_wrap .list {
  display: flex;
  align-items: center;
}
.lp #philosophy .list_wrap .list .img {
  width: 50%;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list .img img {
  width: 100%;
}
.lp #philosophy .list_wrap .list .txt_wrap {
  width: 50%;
  padding-left: 2.6041666667vw;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list .txt_wrap .line {
  width: 3.125vw;
  height: 2px;
  margin-top: 1.5104166667vw;
  margin-bottom: 1.9270833333vw;
  position: relative;
}
.lp #philosophy .list_wrap .list .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 3.125vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #philosophy .list_wrap .list_p2 {
  align-items: center;
}
.lp #philosophy .list_wrap .list2 {
  display: flex;
  align-items: center;
}
.lp #philosophy .list_wrap .list2 .img {
  width: 50%;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list2 .img img {
  width: 100%;
}
.lp #philosophy .list_wrap .list2 .txt_wrap {
  width: 50%;
  padding-right: 2.6041666667vw;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list2 .txt_wrap .line {
  width: 3.125vw;
  height: 2px;
  margin-top: 1.5104166667vw;
  margin-bottom: 1.9270833333vw;
  position: relative;
}
.lp #philosophy .list_wrap .list2 .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 3.125vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #grades {
  padding-top: 5.2083333333vw;
}
.lp #grades .ttl_wrap {
  text-align: center;
  padding-bottom: 3.6458333333vw;
}
.lp #grades .ttl_wrap .subttl_h2 {
  font-size: 1.1458333333vw;
  font-weight: 600;
  letter-spacing: 0.1041666667vw;
  margin: 0;
}
.lp #grades .ttl_wrap p.subttl {
  font-size: 1.0416666667vw;
  font-weight: 600;
  padding-top: 3.5416666667vw;
}
.lp #grades .ttl_wrap p.txt {
  padding-top: 1.3541666667vw;
}
.lp #grades .contents1 {
  padding-top: 0;
}
.lp #grades .contents1 p.subttl {
  font-size: 1.0416666667vw;
  font-weight: 600;
  text-align: center;
  padding-bottom: 3.125vw;
}
.lp #grades .contents1 .line_wrap {
  display: flex;
  flex-wrap: wrap;
}
.lp #grades .contents1 .line_wrap .line:nth-child(even) {
  padding-left: 1.5625vw;
  box-sizing: border-box;
}
.lp #grades .contents1 .line_wrap .line:nth-child(n+3) {
  padding-top: 3.6458333333vw;
}
.lp #grades .contents1 .line_wrap .line {
  width: 50%;
}
.lp #grades .contents1 .line_wrap .line .img {
  padding-top: 0;
}
.lp #grades .contents1 .line_wrap .line .img img {
  padding-top: 0;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap {
  padding-top: 0;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap p.subttl {
  text-align: left;
  font-size: 1.0416666667vw;
  font-weight: 600;
  padding: 1.40625vw 0vw;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap p.subttl span {
  padding-right: 1.5104166667vw;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap p.txt {
  text-align: left;
}
.lp #grades .list_wrap {
  padding-top: 3.3333333333vw;
}
.lp #grades .list_wrap .list1 {
  padding-bottom: 3.6458333333vw;
}
.lp #grades .list_wrap .list {
  display: flex;
  align-items: center;
}
.lp #grades .list_wrap .list .img {
  width: 50%;
  padding-right: 2.6041666667vw;
  box-sizing: border-box;
}
.lp #grades .list_wrap .list .img img {
  width: 100%;
}
.lp #grades .list_wrap .list .txt_wrap {
  width: 50%;
}
.lp #grades .list_wrap .list .txt_wrap .line {
  width: 3.125vw;
  height: 2px;
  margin-top: 1.5104166667vw;
  margin-bottom: 1.9270833333vw;
  position: relative;
}
.lp #grades .list_wrap .list .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 3.125vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #grades .contents2 {
  padding-top: 5.2083333333vw;
}
.lp #grades .contents2 p.subttl {
  font-size: 1.0416666667vw;
  font-weight: 600;
  text-align: center;
  padding-bottom: 3.125vw;
}
.lp #grades .contents2 .line_y {
  position: relative;
  width: 100%;
  height: 1.5625vw;
}
.lp #grades .contents2 .line_y:after {
  content: "";
  position: absolute;
  width: 2px;
  height: 3.125vw;
  top: 0;
  border-left: 1px #222 solid;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.lp #grades .contents2 .line_wrap {
  padding: 3.6458333333vw 0vw;
}
.lp #grades .contents2 .line_wrap .line {
  display: flex;
  align-items: center;
}
.lp #grades .contents2 .line_wrap .line .txt_wrap p.txt {
  padding-left: 98px;
}/*# sourceMappingURL=philosophy.css.map */