/*.p-mv
-------------------------------------------*/
.p-mv {
  position: relative;
  width: 100%;
  margin-top: 88px; }

.p-mv-inner {
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%; }

.p-mv-img {
  width: 100%; }
  .p-mv-img img {
    display: block;
    width: 100%; }

@media screen and (min-width: 1800px) {
  .p-mv-img {
    height: 500px;
    object-fit: cover;
    overflow: hidden; } }
.p-mv-ttl {
  font-size: 4.4rem;
  line-height: 1;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: #fff;
  margin-bottom: 20px; }

.p-mv-subttl {
  font-size: 2.3rem;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 500;
  color: #fff; }

.p-company-inner-img {
  width: 523px; }
  .p-company-inner-img img {
    object-fit: cover;
    aspect-ratio: 3/2;
    display: block;
    height: 100%; }

.p-company-inner-top {
  width: 100%;
  padding-top: 75px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.p-company-inner-top-main {
  width: 800px;
  padding: min(5%,85px) min(6%,90px);
  background: #f5f5f5;
  border-right: 4px solid #d82122; }

.p-company-inner-top-ttl {
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: 0.12em;
  font-weight: 700;
  margin-bottom: 20px; }

.p-company-inner-top-subttl {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.06em;
  font-weight: 500;
  color: #a3a3a3;
  margin-bottom: 55px; }

@media screen and (max-width: 1350px) {
  .p-concept-top {
    grid-template: "subttl ttl" 70px "subttl desc" auto ".... ...." 45px "img img" 510px/240px auto; }

  .p-business-item {
    width: 360px; }

  .p-company-inner-top-main {
    width: 700px; } }
@media screen and (max-width: 767px) {
  .l-content {
    width: 92vw; }

  .p-mv-ttl {
    font-size: 6.93333vw;
    margin-bottom: 2.66667vw; }

  .p-mv-subttl {
    font-size: 4vw; }

  .p-company-inner {
    padding: 0; }

  .p-company-inner-top {
    flex-direction: column; }

  .p-company-inner-img {
    width: 100%; }
    .p-company-inner-img img {
      height: auto;
      aspect-ratio: auto; }

  .p-company-inner-top-main {
    width: 100%;
    border-right: none;
    border-bottom: 0.93333vw solid #d82122;
    padding: 7.33333vw 0 7.33333vw 5.33333vw; }

  .p-company-inner-top-ttl {
    font-size: 6.4vw;
    margin-bottom: 2vw; }

  .p-company-inner-top-subttl {
    font-size: 4vw;
    margin-bottom: 5.33333vw; } }
