@font-face {
  font-family: "Marcellus", serif;
  font-family: "NotoSansJP", sans-serif;
}
.lp h2.subttl_h2 {
  font-size: 1.6923076923vw;
  font-weight: 600;
  letter-spacing: 0.1538461538vw;
  margin: 0;
}
.lp .subttl {
  font-size: 1.5384615385vw;
  font-weight: 600;
}
.lp a.btn {
  border-bottom: 1px #000000 solid;
  width: 23.0769230769vw;
  display: block;
  margin: auto;
  padding-bottom: 1.0769230769vw;
  position: relative;
}
.lp a.btn:after {
  content: "";
  width: 2.2307692308vw;
  height: 1.5384615385vw;
  background: url(../../../img/hapt_ec/common/btn_icon.png) no-repeat right center/contain;
  position: absolute;
  bottom: 1.2307692308vw;
  margin: auto 0;
  right: 0;
}
.lp p {
  font-size: 1.2307692308vw;
  margin: 0;
  line-height: 1.75;
}
.lp img {
  max-width: 100%;
}
.lp #mv {
  margin-top: 6.1538461538vw;
  background-image: url(../../../img/hapt_ec/philosophy/mv.jpg);
  background-size: cover;
  background-position-y: center;
  width: 100%;
  height: 38.4615384615vw;
}
.lp #mv .wrap {
  display: flex;
  align-items: center;
  justify-content: left;
  height: 38.4615384615vw;
}
.lp #mv .wrap .ttl_h1 {
  color: #fff;
  font-size: 2.5384615385vw;
}
.lp .lead {
  padding-top: 7.6923076923vw;
}
.lp .lead .ttl_wrap {
  text-align: center;
  padding-bottom: 5.3846153846vw;
}
.lp .lead .ttl_wrap .subttl2 {
  font-size: 2.6923076923vw;
  font-weight: 600;
  letter-spacing: 0.1538461538vw;
  margin: 0;
  background: linear-gradient(transparent 60%, #eaeaea 60%);
  display: inline-block;
}
.lp .lead .ttl_wrap p.subttl {
  font-size: 1.2307692308vw;
  padding-top: 0.7692307692vw;
  text-align: center;
}
.lp .lead .ttl_wrap p.txt {
  padding-top: 2vw;
}
.lp #philosophy {
  padding-top: 7.6923076923vw;
}
.lp #philosophy .p2 {
  width: 50%;
}
.lp #philosophy .p2 .ttl_wrap2 {
  padding-left: 3.8461538462vw;
  padding-bottom: 5.3846153846vw;
  color: #989898;
}
.lp #philosophy .p2 .ttl_wrap2 .subttl_h2 {
  font-size: 1.2307692308vw;
  font-weight: 600;
  letter-spacing: 0.1538461538vw;
  text-align: left;
}
.lp #philosophy .p2 .ttl_wrap2 p.subttl {
  font-size: 1.2307692308vw;
  padding-top: 1.5384615385vw;
}
.lp #philosophy .p2 .ttl_wrap2 p.txt {
  padding-top: 2vw;
}
.lp #philosophy .p2 .txt_wrap2 {
  padding-left: 7.6923076923vw;
  box-sizing: border-box;
  padding-bottom: 4.6153846154vw;
}
.lp #philosophy .p2 .txt_wrap2 .line {
  width: 4.6153846154vw;
  height: 2px;
  margin-top: 0.7692307692vw;
  margin-bottom: 1.5384615385vw;
  position: relative;
}
.lp #philosophy .p2 .txt_wrap2 .line:after {
  content: "";
  position: absolute;
  width: 4.6153846154vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #philosophy .ttl_wrap {
  text-align: center;
  padding-bottom: 5.3846153846vw;
}
.lp #philosophy .ttl_wrap .subttl_h2 {
  font-size: 1.5384615385vw;
  font-weight: 600;
  letter-spacing: 0.1538461538vw;
}
.lp #philosophy .ttl_wrap p.subttl {
  font-size: 1.2307692308vw;
  padding-top: 0.7692307692vw;
  text-align: center;
}
.lp #philosophy .ttl_wrap p.txt {
  padding-top: 2vw;
}
.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: 3.8461538462vw;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list .txt_wrap .line {
  width: 4.6153846154vw;
  height: 2px;
  margin-top: 2.2307692308vw;
  margin-bottom: 2.8461538462vw;
  position: relative;
}
.lp #philosophy .list_wrap .list .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 4.6153846154vw;
  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: 3.8461538462vw;
  box-sizing: border-box;
}
.lp #philosophy .list_wrap .list2 .txt_wrap .line {
  width: 4.6153846154vw;
  height: 2px;
  margin-top: 2.2307692308vw;
  margin-bottom: 2.8461538462vw;
  position: relative;
}
.lp #philosophy .list_wrap .list2 .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 4.6153846154vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #grades {
  padding-top: 7.6923076923vw;
}
.lp #grades .ttl_wrap {
  text-align: center;
  padding-bottom: 5.3846153846vw;
}
.lp #grades .ttl_wrap .subttl_h2 {
  font-size: 1.6923076923vw;
  font-weight: 600;
  letter-spacing: 0.1538461538vw;
  margin: 0;
}
.lp #grades .ttl_wrap p.subttl {
  font-size: 1.5384615385vw;
  font-weight: 600;
  padding-top: 5.2307692308vw;
}
.lp #grades .ttl_wrap p.txt {
  padding-top: 2vw;
}
.lp #grades .contents1 {
  padding-top: 0;
}
.lp #grades .contents1 p.subttl {
  font-size: 1.5384615385vw;
  font-weight: 600;
  text-align: center;
  padding-bottom: 4.6153846154vw;
}
.lp #grades .contents1 .line_wrap {
  display: flex;
  flex-wrap: wrap;
}
.lp #grades .contents1 .line_wrap .line:nth-child(even) {
  padding-left: 2.3076923077vw;
  box-sizing: border-box;
}
.lp #grades .contents1 .line_wrap .line:nth-child(n+3) {
  padding-top: 5.3846153846vw;
}
.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.5384615385vw;
  font-weight: 600;
  padding: 2.0769230769vw 0vw;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap p.subttl span {
  padding-right: 2.2307692308vw;
}
.lp #grades .contents1 .line_wrap .line .txt_wrap p.txt {
  text-align: left;
}
.lp #grades .list_wrap {
  padding-top: 4.9230769231vw;
}
.lp #grades .list_wrap .list1 {
  padding-bottom: 5.3846153846vw;
}
.lp #grades .list_wrap .list {
  display: flex;
  align-items: center;
}
.lp #grades .list_wrap .list .img {
  width: 50%;
  padding-right: 3.8461538462vw;
  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: 4.6153846154vw;
  height: 2px;
  margin-top: 2.2307692308vw;
  margin-bottom: 2.8461538462vw;
  position: relative;
}
.lp #grades .list_wrap .list .txt_wrap .line:after {
  content: "";
  position: absolute;
  width: 4.6153846154vw;
  height: 2px;
  top: 0;
  right: 0;
  border-bottom: 1px #222 solid;
}
.lp #grades .contents2 {
  padding-top: 7.6923076923vw;
}
.lp #grades .contents2 p.subttl {
  font-size: 1.5384615385vw;
  font-weight: 600;
  text-align: center;
  padding-bottom: 4.6153846154vw;
}
.lp #grades .contents2 .line_y {
  position: relative;
  width: 100%;
  height: 2.3076923077vw;
}
.lp #grades .contents2 .line_y:after {
  content: "";
  position: absolute;
  width: 2px;
  height: 4.6153846154vw;
  top: 0;
  border-left: 1px #222 solid;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.lp #grades .contents2 .line_wrap {
  padding: 5.3846153846vw 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_tab.css.map */