@charset "UTF-8";
.l_side{
  display: none!important;
}


/* 20230127 追加CSS */

.pc {
  display: block;
}

.sp {
  display: none;
}

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

  .sp {
    display: block;
  }
}

.l_header .logo {
  margin: 24px 0 12px 70px;
}

.l_header .header_contact {
  align-items: center;
}

.key {
  background: url(../img/proposal-mv.png?20230202) no-repeat;
  /* background-size: contain; */
  background-position: center center;
  height: 780px;

}

.key_catch01 {
  position: absolute;
  top: 20px;
  right: 280px;
}

.key_catch02 {
  position: absolute;
  top: 100px;
  left: 60px;
}

.mv-titles .mv-title_sub {
  color: #c6311e;
  font-size: 33px;
}

.mv-titles .mv-title {
  font-size: 40px;
  line-height: 2;
  display: inline-block;
}

.mv-titles .mv-title p {
  background: linear-gradient(transparent 60%, rgba(255,255,255,0.6) 60%);
}

.mv-titles .mv-title p:first-child {
  display: inline-block;
}

.key_catch03-img {
  margin-top: 56px;
}

.key_catch03-img img {
  width: 56%;
}

@media screen and (max-width: 767px) {
  .key {
    background: url(../img/sp/proposal-mv_sp.png) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 670px;
  }

  .key_catch01 {
    padding: 0;
    position: absolute;
    top: 45%;
    right: 10%;
    text-align: right;
  }

  .key_catch01 img {
    width: 56%;
  }

  .mv-titles {
    text-align: center;
  }

  .mv-titles .mv-title_sub {
    color: #c6311e;
    font-size: 4vw;
    padding-top: 24px;
  }

  .mv-titles .mv-title {
    font-size: 4.3vw;
    line-height: 2;
    margin-top: 10px;
  }

  .mv-titles .mv-title p:last-child {
    display: inline-block;
  }

  .key_catch02 {
    position: absolute;
    bottom: 5%;
    top: auto;
    left: 0%;
    text-align: center;
    padding: 0 4vw;
  }

  .key_catch03-img {
    margin-top: 24px;
  }

  .key_catch03-img:first-child {
    margin-top: 0;
  }

  .key_catch03-img img {
    width: 100%;
  }
}



.service {
  margin-top: 100px;
}

.service .case_attend,
.case_attend {
  margin: 65px 165px;
  display: block;
  border: none;
}

@media screen and (max-width: 767px) { 
  .service {
    margin-top: 40px;
  }

  .service .case_attend,
  .case_attend {
    margin: 0;
    display: block;
    border: none;
  }

  .case_attend_sp {
    padding-bottom: 40px;
  }
  .plan_table-th li {
    padding: 16px;
  }

  .plan_content02-attendCenter {
    border-bottom: none;
  }
  .plan_content02-attend .page {
    font-size: 4.33vw;
    margin: 0 calc(10/375*100vw) 0 0;
    border-bottom: 2px solid #C03818;
    padding-bottom: 6px;
  }
}

.case_outer {
  display: block;
}

.case_box {
  width: 100%;
  height: auto;
  padding: 40px 120px;
}

.case_box-ttl {
  margin-left: 10px;
}

.flex-container {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .flex-container {
    display: block;
  }

  .case_box {
    width: 100%;
    height: inherit;
    padding: 0;
    padding-bottom: 60px;
  }
}

.service_catch:before {
  height: 463px;
}

.key {
  background: url(../img/proposal-mv.png?123) no-repeat;
  background-position: center center;
  height: 780px;
  margin-top: 72px;
}

@media screen and (max-width: 767px) {
  .key {
    background: url(../img/sp/proposal-mv_sp.png?123) no-repeat;
    background-size: cover;
    background-position: center top;
    height: 170vw;
    margin-top: 52px;
  }
  /*_:lang(x)+_:-webkit-full-screen-document, .key {
    height: 690px;
  }*/
}


@media screen and (min-width: 768px) {
  .key .l_content_size_pc_1 {
    width: 1350px;
    max-width: none;
    position: relative;
  }
}

.l_header_sp .logo {
  width: calc(150/375*100vw);
}


@media screen and (min-width: 768px) and (max-width: 1350px) {
  .l_header .gNav a {
    padding: 0 8px;

  }
}