.sec-title {
  color: #004396;
  font-size: 4.6rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sec-title {
    font-size: 2.8rem;
  }
}

/* ---------------------------------------------------------------------------
//  company-mv 
--------------------------------------------------------------------------- */
.sub-mv {
  padding-bottom: 11.3rem;
}

.company-mv .page-title-area .eng {
  margin-bottom: 1.5rem;
  width: 26.6rem;
}

.company-mv .page-title-area .title {
  color: #101010;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.company-mv .title-area {
  position: relative;
}

.company-mv .title-area::after {
  background-image: url(../img/company/mv-title-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 17rem;
  left: 6rem;
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  width: 19.2rem;
}

.company-mv .title-area .mv-title {
  color: #004396;
  font-size: 36px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

.company-mv .contents {
  position: relative;
}

.company-mv .contents .text-area {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  left: 0;
  padding: 6.2rem 7.7rem;
  position: absolute;
  right: 0;
  top: 10.6rem;
}

.company-mv .contents .text-area .desc {
  color: #616161;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: calc(34/18);
}

.company-mv .contents .text-area .desc:not(:last-child) {
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .sub-mv {
    padding-bottom: 6rem;
  }

  .company-mv .page-title-area .eng {
    margin-bottom: .6rem;
    width: 13.6rem;
  }

  .company-mv .page-title-area .title {
    font-size: 1.7rem;
  }

  .company-mv .title-area::after {
    height: 8.5rem;
    left: 1rem;
    top: 50%;
    width: 9.6rem;
  }

  .company-mv .title-area .mv-title {
    font-size: 2.5rem;
  }

  .company-mv .contents .text-area {
    padding: 3rem 3.5rem;
    top: 6.5rem;
  }

  .company-mv .contents .text-area .desc {
    font-size: 1.6rem;
    line-height: calc(32/16);
  }

  .company-mv .contents .text-area .desc:not(:last-child) {
    margin-bottom: 30px;
  }
}

/* ---------------------------------------------------------------------------
//  company01
--------------------------------------------------------------------------- */
.company01 {
  margin-top: 61.4rem;
}
.company01 .sec-title {
  transform: translateY(50%);
}

.company01 .flex-area {
  display: flex;
  justify-content: flex-end;
}

.company01 .flex-area .img {
  flex-shrink: 0;
  margin-left: 6.5rem;
  margin-right: -27.4rem;
  margin-top: 10.8rem;
  position: relative;
  width: 54.5rem;
}

.company01 .flex-area .text-area {
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  padding: 10.8rem 18.3rem 17.4rem 33.5rem;
}

.company01 .flex-area .text-area .desc {
  color: #101010;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(40/18);
}

.company01 .flex-area .text-area .sign-area {
  align-items: center;
  display: flex;
  margin-top: 5rem;
}

.company01 .flex-area .text-area .sign-area .position {
  color: #101010;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  margin-right: 1.6rem;
}

.company01 .flex-area .text-area .sign-area .sign {
  position: relative;
  width: 16rem;
}

.company01 .flex-area .text-area .sign-area .sign::after {
  bottom: 0;
  color: #757575;
  content: 'KENICHI KANAYA';
  font-family: 'Poppins', sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  left: 0;
  letter-spacing: .03em;
  position: absolute;
  transform: translateY(100%);
}

@media screen and (max-width: 768px) {
  .company01 {
    margin-top: 90rem;
  }
  .company01 .sec-title {
    margin-bottom: 2rem;
    transform: translateY(0);
  }
  .company01 .flex-area {
    flex-direction: column;
    justify-content: center;
    padding: 0 2rem;
  }

  .company01 .flex-area .img {
    margin: 0 2rem -2rem;
    width: auto;
  }

  .company01 .flex-area .text-area {
    padding: 4rem 0;
  }

  .company01 .flex-area .text-area .desc {
    font-size: 1.6rem;
    line-height: calc(30/16);
  }

  .company01 .flex-area .text-area .sign-area {
    justify-content: flex-end;
    margin-top: 3rem;
  }

  .company01 .flex-area .text-area .sign-area .position {
    font-size: 1.5rem;
  }

  .company01 .flex-area .text-area .sign-area .sign {
    width: 13rem;
  }

  .company01 .flex-area .text-area .sign-area .sign::after {
    font-size: 1.2rem;
  }
}
/* ---------------------------------------------------------------------------
//  company02
--------------------------------------------------------------------------- */
.company02 {
  margin-top: 15rem;
}

.company02 .title-area {
  margin-bottom: 8rem;
}

.company02 .table-area .row {
  color: #101010;
  display: flex;
  font-size: 2rem;
  letter-spacing: .04em;
  line-height: 1;
}

.company02 .table-area .row .heading {
  border-bottom: 1px solid #004396;
  font-weight: 700;
  padding: 3.5rem 0 2.5rem;
  width: 21.5%;
}

.company02 .table-area .row .desc {
  border-bottom: 1px solid #bdbdbd;
  padding: 3.6rem 0;
  width: 78.5%;
}

@media screen and (max-width: 768px) {
  .company02 {
    margin-top: 7rem;
  }

  /* .company02 .title-area {
    margin-bottom: 4rem;
  } */

  .company02 .table-area {
    margin-bottom: 6rem;
  }

  .company02 .table-area .row {
    font-size: 1.6rem;
  }

  .company02 .table-area .row .heading {
    line-height: 1.3;
    padding: 2.5rem 0;
    width: 23%;
  }

  .company02 .table-area .row .desc {
    line-height: 1.3;
    padding: 2.5rem 0;
    width: 77%;
  }
}

/* ---------------------------------------------------------------------------
//  company02-2
--------------------------------------------------------------------------- */
.company02-2 {
  padding-bottom: 10rem;
  padding-top: 10.6rem;
}

.company02-2 .list-area {
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  padding: 5.8rem 10.3rem 10.1rem;
}

.company02-2 .list-area .list-title {
  color: #101010;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  margin-bottom: 5.6rem;
}

.company02-2 .list-area .list-title .blue {
  color: #004396;
}

.company02-2 .list-area .list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 3.7rem;
}

.company02-2 .list-area .list .item {
  align-items: center;
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .04em;
  width: calc(100% / 4);
}

.company02-2 .list-area .list .item::before {
  background-image: url(../img/company/check-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: 24px;
  margin-right: .4rem;
  width: 24px;
}


@media screen and (max-width: 768px) {
  .company02-2 {
    padding-bottom: 5rem;
    padding-top: 4rem;
  }

  .company02-2 .list-area {
    padding: 2rem;
  }

  .company02-2 .list-area .list-title {
    font-size: 2.3rem;
    margin-bottom: 2.5rem;
    text-align: center;
  }

  .company02-2 .list-area .list {
    flex-direction: column;
    row-gap: 1.5rem;
  }

  .company02-2 .list-area .list .item {
    font-size: 1.6rem;
    width: 100%;
  }

  .company02-2 .list-area .list .item::before {
    height: 20px;
    width: 20px;
  }
}


/* ---------------------------------------------------------------------------
//  company03
--------------------------------------------------------------------------- */
.company03 {
  margin-bottom: 12rem;
  padding-top: 10.7rem;
}

.company03 .title-area {
  margin-bottom: 5rem;
}

.company03 .table-area .row {
  color: #101010;
  display: flex;
  font-size: 2rem;
  letter-spacing: .04em;
  line-height: 1;
}

.company03 .table-area .row .heading {
  border-bottom: 1px solid #bdbdbd;
  font-weight: 700;
  line-height: calc(28/20);
  padding: 2rem 0 1.7rem;
  width: 21.5%;
}

.company03 .table-area .row .desc {
  border-bottom: 1px solid #bdbdbd;
  line-height: calc(28/20);
  padding: 2rem 0;
  width: 78.5%;
}

.company03 .table-area .row:first-child .heading {
  border-top: 1px solid #004396;
}

.company03 .table-area .row:last-child .heading {
  border-bottom: 1px solid #004396;
}

.company03 .table-area .row:first-child .desc {
  border-top: 1px solid #bdbdbd;
}

@media screen and (max-width: 768px) {
  .company03 {
    margin-bottom: 6rem;
    padding-top: 5rem;
  }

  .company03 .title-area {
    margin-bottom: 3rem;
  }

  .company03 .table-area .row {
    font-size: 1.6rem;
  }
}
/* ---------------------------------------------------------------------------
//  company04
--------------------------------------------------------------------------- */
.company04 {
  padding-top: 12rem;
}

.company04 .title-area {
  margin-bottom: 3rem;
}

.company04 .img {
  background-color: #fff;
  display: table;
  margin: 0 auto;
  padding: 0 6rem 5.3rem 6rem;
  position: relative;
  z-index: 1;
}

.company04 .img img {
  width: 49.6rem;
}

.company04 .for-bg {
  background-color: #f5f5f5;
  margin-top: -18.7rem;
  padding: 23rem 0 17.8rem;
}

.company04 .for-bg .name {
  color: #101010;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 1.4rem;
  text-align: center;
}

.company04 .for-bg .address {
  background-color: #fff;
  border-radius: 3rem;
  display: table;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 3.6rem;
  margin: 0 auto 4.7rem;
  padding: 0 1.9rem;
  text-align: center;
}

.company04 .map-area iframe {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .company04 {
    padding-top: 6rem;
  }

  .company04 .title-area {
    margin-bottom: 2rem;
  }

  .company04 .img {
    padding: 0 2rem 2rem 2rem;
    z-index: 1;
  }

  .company04 .img img {
    width: auto;
  }

  .company04 .for-bg {
    margin-top: -9.7rem;
    padding: 13rem 0 9rem;
  }

  .company04 .for-bg .name {
    font-size: 2rem;
    margin-bottom: 1.4rem;
  }

  .company04 .for-bg .address {
    border-radius: 2rem;
    font-size: 1.5rem;
    line-height: 3rem;
    margin: 0 auto 2.5rem;
    padding: 0 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  company05
--------------------------------------------------------------------------- */
.company05 .list {
  display: flex;
}

.company05 .list .item {
  width: calc(100% / 4);
}

@media screen and (max-width: 768px) {
  .company05 .list {
    flex-wrap: wrap;
  }

  .company05 .list .item {
    width: calc(100% / 2);
  }
}
