@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

body.lower section.fv {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  body.lower section.fv {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  body.lower section.fv {
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.philosophy {
    padding: 110px 30px 320px;
    background: url(../img/company/philosophy_bg1.png) 0 0/cover no-repeat;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.philosophy {
    padding: 14.6666666667vw 8vw 45.3333333333vw;
    background: url(../img/company/sp/philosophy_bg1.png) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.philosophy div.inner {
    max-width: 1260px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.philosophy div.inner div.text p {
    margin-top: 110px;
    font-size: 18px;
    line-height: 3;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.philosophy div.inner div.text p {
    margin-top: 14.6666666667vw;
    line-height: 3;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.philosophy div.inner div.text p + p {
    margin-top: 80px;
  }
}
body.lower main section.message {
  background-color: #FAFAFA;
  position: relative;
}
@media screen and (min-width: 768px) {
  body.lower main section.message {
    padding: 0 30px 80px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message {
    padding: 0 0 12vw;
  }
}
body.lower main section.message:before {
  content: "";
  display: block;
  position: absolute;
}
@media screen and (min-width: 768px) {
  body.lower main section.message:before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -530px;
    width: 322px;
    height: 333px;
    background: url(../img/common/obj_gate1.png) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.lower main section.message:before {
    transform: none;
    margin-left: 0;
    right: 20%;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message:before {
    top: 0;
    right: 8vw;
    width: 32.2666666667vw;
    height: 28.5333333333vw;
    background: url(../img/common/sp/obj_gate1.png) 0 0/cover no-repeat;
  }
}
body.lower main section.message:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  body.lower main section.message:after {
    width: 293px;
    height: 194px;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 530px;
    background: url(../img/common/obj_gate3.png) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.lower main section.message:after {
    transform: none;
    margin-left: 0;
    left: 15%;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message:after {
    width: 29.8666666667vw;
    height: 20.4vw;
    left: 9.3333333333vw;
    background: url(../img/common/sp/obj_gate5.png) 0 0/cover no-repeat;
  }
}
body.lower main section.message div.inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  body.lower main section.message div.inner {
    display: flex;
    justify-content: space-between;
    gap: 0 40px;
    max-width: 1230px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message div.inner {
    padding: 0 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.message div.inner div.image picture img {
    margin-top: -110px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message div.inner div.image picture img {
    width: 56.6666666667vw;
    margin-top: -36vw;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.message div.inner div.text {
    margin-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message div.inner div.text {
    margin-top: 9.3333333333vw;
  }
}
body.lower main section.message div.inner div.text p.txt {
  line-height: 3;
}
@media screen and (min-width: 768px) {
  body.lower main section.message div.inner div.text p.txt {
    margin-top: 100px;
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message div.inner div.text p.txt {
    margin-top: 9.3333333333vw;
  }
}
body.lower main section.message div.inner div.text p.name {
  text-align: right;
}
@media screen and (min-width: 768px) {
  body.lower main section.message div.inner div.text p.name {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.message div.inner div.text p.name picture img {
    width: 37.6vw;
    margin-top: 13.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.overview {
    padding: 130px 30px 150px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.overview {
    padding: 21.3333333333vw 8vw 25.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner {
    max-width: 1110px;
    width: 100%;
    margin: 0 auto;
  }
}
body.lower main section.overview div.inner table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner table {
    margin-top: 110px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.overview div.inner table {
    margin-top: 12vw;
  }
}
body.lower main section.overview div.inner table tbody tr {
  display: flex;
  align-items: center;
  border-bottom: 1px dashed #707070;
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner table tbody tr {
    padding: 20px 0;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.overview div.inner table tbody tr {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.3333333333vw 0;
    padding: 4vw 0 4vw 5.3333333333vw;
  }
}
body.lower main section.overview div.inner table tbody tr th {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner table tbody tr th {
    max-width: 350px;
    width: 100%;
    font-size: 18px;
  }
}
body.lower main section.overview div.inner table tbody tr th span {
  text-align: left;
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner table tbody tr th span {
    display: flex;
    align-items: center;
    width: 72px;
  }
}
body.lower main section.overview div.inner table tbody tr td {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  body.lower main section.overview div.inner table tbody tr td {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  body.lower main section.overview div.inner table tbody tr td {
    font-size: 3.6vw;
  }
}