@charset "UTF-8";

.b-modal {
  .b-modalContent {
    width: min(calc( 100dvw - 50px),600px);
  }
}

/*--------------------------------------------------*/

/* massage

/*--------------------------------------------------*/

.b-ceoMessage {
  display: flex;
  .b-txts {
    order: 2;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .b-ceoMessage {
    flex-wrap: wrap;
    gap: 50px;
  }
}
@media screen and (min-width: 768px) {
  .b-ceoMessage {
    gap: 6.5%;
    .e-img {
      width: 38%;
      min-width: 38%;
    }
  }
}

/*--------------------------------------------------*/

/* strengths

/*--------------------------------------------------*/

/* strengthsMain */

.b-main:has(.b-strengthsMain) {
  .b-mainContent {
    padding-top: 0;
  }
}
.b-strengthsMain {
  text-align: center;
  width: 100dvw;
  margin-left: 50%;
  transform: translateX(-50dvw);
  margin-top: -41px;
  position: relative;
  z-index: 0;
  .e-mds {
    text-align: center;
    span {
      display: inline-block;
    }
  }
  .b-content {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto;
    color: var(--txt);
    .b-item {
      aspect-ratio: 1/1;
      border-radius: 50%;
      border: 1px solid var(--line-t);
      background: rgb(255 255 255 / .7);
      dd {
        font-size: min(3.25vw,13px);
        line-height: 1.4;
      }
      span {
        display: inline-block;
      }
    }
  }
  .e-lead {
    font-size: min(5vw,20px);
    font-weight: 300;
    text-align: center;
    color: var(--txt);
    span {
      display: inline-block;
    }
  }
}
@media screen and (max-width: 767px) {
  .b-strengthsMain {
    aspect-ratio: 1000/2250;
    padding: 100px 0 160px;
    background: url(../images/aboutus/strengths-main-sp.jpg) center center / cover;
    .e-mds {
      span {
        display: block;
      }
    }
    .b-content {
      gap: 10px;
      .b-item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: calc( ( 100% - 10px ) / 2 );
        dt {
          font-size: min(5vw,20px);
          margin-top: -.5em;
          margin-bottom: 5px;
        }
      }
    }
  }
}
@media screen and (max-width: 400px) {
  .b-strengthsMain {
    .b-content {
      .b-item {
        dt {
          margin-top: 0;
        }
        dd {
          span {
            display: block;
          }
        }
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsMain {
    padding: 200px 0 160px;
    background: url(../images/aboutus/strengths-main-pc.jpg) center center / cover;
    .b-content {
      gap: 20px;
      .b-item {
        width: 250px;
        padding-top: 4.5em;
        dt {
          margin-bottom: 10px;
          font-size: 24px;
          font-weight: 300;
        }
      }
    }
  }
}
@media screen and (min-width: 768px) and (max-width: 1180px) {
  .b-strengthsMain {
    .b-content {
      width: 540px;
      .b-item {
        width: calc( ( 100% - 40px ) / 2 );
      }
    }
  }
}
@media screen and (max-width: 1180px) {
  .b-strengthsMain {
    .b-content {
      flex-wrap: wrap;
      .b-item {
        max-width: 250px;
      }
    }
  }
}

/* strengthsSection -------------*/
.b-strengthsSection {
  margin-top: 50px;
  .b-sectionMain {
    .b-ttls {
      color: #fff;
      .b-mds {
        margin-bottom: 15px;
        .e-mds {
          margin-bottom: 0;
        }
      }
      .e-lead {
      line-height: 2;
      }
    }
  }
}
@media screen and (max-width: 767px) {
  .b-strengthsSection {
    &:not(:first-of-type) {
      margin-top: 50px;
    }
    .b-sectionMain {
      width: 100dvw;
      margin-left: 50%;
      transform: translateX(-50dvw);;
      &::before {
        content: "";
        display: block;
        aspect-ratio: 1300/600;
      }
      .b-ttls {
        padding: 30px 15px;
        background: #000;
        .e-mds {
          font-size: min(6vw,24px);
          span {
            display: block;
          }
        }
        .e-en {
          font-size: min(4.5vw,18px);
          margin-bottom: 10px;
        }
      }
    }
    .b-strengthsColumn {
      .b-item {
        display: flex;
        flex-direction: column-reverse;
        margin-top: 50px;
        .e-mds {
          font-size: min(5.5vw,22px);
        }
        .e-img {
          margin-bottom: 20px;
        }
      }
    }
    .b-btns {
      margin-top: 40px;
      .b-btn {
        margin: auto;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection {
    margin-top: 150px;
    .b-sectionMain {
      display: flex;
      align-items: center;
      aspect-ratio: 1300/600;
      width: calc(100% + 30px);
      margin-left: -15px;
      .b-ttls {
        padding: 20px 30px;
        background: rgb(0 0 0 /.8);
        .e-mds {
          font-size: 32px;
        }
        .e-en {
          font-size: 26px;
          margin-bottom: 10px;
        }
      }
    }
    .b-strengthsColumn {
      .b-item {
        display: flex;
        margin-top: 50px;
        gap: 50px;
        &.m-02 {
          flex-direction: row-reverse;
        }
        .e-mds {
          font-size: 28px;
        }
        .e-img {
          width: max(300px,39.73%);
          min-width: max(300px,39.73%);
        }
        .b-btns {
          .b-btn {
            margin-left: auto;
            margin-top: 40px;
          }
        }
      }
    }
  }
}

/* technology */
@media screen and (max-width: 767px) {
  .b-strengthsSection.m-technology {
    .b-sectionMain {
      &::before {
        background: url(../images/aboutus/technology-main.jpg) center center / cover;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection.m-technology {
    .b-sectionMain {
      background: url(../images/aboutus/technology-main.jpg) center center / cover;
    }
  }
}

/* system */
@media screen and (max-width: 767px) {
  .b-strengthsSection.m-system {
    .b-sectionMain {
      &::before {
        background: url(../images/aboutus/system-main.jpg) center center / cover;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection.m-system {
    .b-sectionMain {
      background: url(../images/aboutus/system-main.jpg) center center / cover;
    }
  }
}

/* quality */
@media screen and (max-width: 767px) {
  .b-strengthsSection.m-quality {
    .b-sectionMain {
      &::before {
        background: url(../images/aboutus/quality-main.jpg) center center / cover;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection.m-quality {
    .b-sectionMain {
      background: url(../images/aboutus/quality-main.jpg) center center / cover;
    }
    .b-strengthsColumn {
      .b-item {
        &.m-01 {
          flex-direction: row-reverse;
          .e-img {
            width: auto;
            min-width: auto;
          }
          .b-txts {
            width: max(300px,39.73%);
            min-width: max(300px,39.73%);
          }
        }
        &.m-02 {
          flex-direction: row;
        }
      }
    }
  }
}

/* network */
@media screen and (max-width: 767px) {
  .b-strengthsSection.m-network {
    .b-sectionMain {
      &::before {
        background: url(../images/aboutus/network-main.jpg) center center / cover;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection.m-network {
    .b-sectionMain {
      background: url(../images/aboutus/network-main.jpg) center center / cover;
    }
    .b-strengthsColumn {
      display: flex;
      gap: 50px;
      .b-item {
        flex-direction: column-reverse;
        width: calc( (100% - 50px) / 2 );
        gap: 20px;
        .e-img {
          width: 100%;
        }
      }
    }
  }
}

/* aftersupport */
@media screen and (max-width: 767px) {
  .b-strengthsSection.m-aftersupport {
    .b-sectionMain {
      &::before {
        background: url(../images/aboutus/aftersupport-main.jpg) center center / cover;
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-strengthsSection.m-aftersupport {
    .b-sectionMain {
      background: url(../images/aboutus/aftersupport-main.jpg) center center / cover;
    }
  }
}

/* thechnologyList ----------------*/
.b-thechnologyList {
  background: var(--bg50);
  .e-mds {
    font-size: min(8vw,32px);
    text-align: center;
    margin-bottom: 50px !important;
    span {
      display: inline-block;
    }
  }
  .b-content {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    .b-modalBtn {
      .b-buttonTxt {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: .9em 0 1em;
        line-height: 1.4;
        .e-txt {
          flex-grow: 1;
          padding: 0 .5em
        }
        span {
          display: inline-block;
        }
        &::after {
          content: "";
          aspect-ratio: 1/1;
          display: block;
          width: min(30px);
          background: url(../images/icon-search-bk.svg) center center / contain no-repeat;
          margin-right: 0;
          margin-left: auto;
        }
      }
    }
  }
}
@media screen and (max-width: 767px) {
  .b-thechnologyList {
    width: 100dvw;
    margin-left: 50%;
    transform: translateX(-50dvw);
    padding: 50px 15px;
    .b-content {
      gap: 10px;
      .b-modalBtn {
        width: calc( (100% - 15px ) / 2 );
      }
    }
  }
}
@media screen and (min-width: 768px) {
  .b-thechnologyList {
    margin-top: 50px;
    padding: 50px min(4vw,70px);
    .b-content {
      gap: min(3vw,40px);
      .b-modalBtn {
        width: calc( (100% - min(3vw,40px)*2 ) / 3 );
        transition: var(--transition);
        .b-buttonTxt {
          transition: var(--transition);
          &::after {
            margin-right: 15px;
          }
        }
        &:hover {
          background: #fff;
          filter: var(--dropModal);
          img {
            opacity: .7;
          }
          .b-buttonTxt {
            color: var(--blue);
            &::after {
              background: url(../images/icon-search-blue.svg) center center / contain no-repeat;
            }
          }
        }
      }
    }
  }
}

.b-technologyPoint {
  width: min(calc( 100dvw - 50px),600px);
  filter: var(--dropModal);
    background: #fff;
  .b-item {
    display: flex;
    flex-direction: column-reverse;
    .b-txtBox {
      padding: 30px min(7.5vw,30px);
      dt {
        font-size: min(5.5vw,22px);
        font-weight: 500;
        line-height: 1.5;
        margin-bottom: 20px;
      }
      dd {
        font-size: min(4.5vw,18px);
        font-weight: 400;
      }
    }
  }
}

/*--------------------------------------------------*/

/* company

/*--------------------------------------------------*/

.b-officers {
  display: flex;
  flex-wrap: wrap;
  dt {
    width: 6em;
  }
  dd {
    width: calc(100% - 6em);
  }
}

/* certification */
.b-certification {
  margin-bottom: 50px;
  .b-certificates {
    display: flex;
    align-items: start;
    gap: 10px;
  }
  .b-content {
    display: flex;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .b-certification {
    .b-certificates {
      flex-wrap: wrap;
      img {
        width: calc( ( 100% - 10px ) / 2 );
      }
    }
    .b-content {
      flex-wrap: wrap;
    }
  }
}
@media screen and (min-width: 768px) {
  .b-certification {
    .b-content {
      .b-certificates {
        width: 100%;
        img {
          width: calc( (100% - 30px) / 4);
        }
      }
      .b-dotsList {
        width: 500px;
        min-width: 500px;
      }
    }
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .b-certification {
    .b-content {
      .b-certificates {
        flex-wrap: wrap;
        img {
          width: calc( (100% - 10px) / 2 );
        }
      }
      .b-dotsList {
        width:  min(50%,400px);
        min-width: min(50%,400px);
      }
    }
  }
}

/* attempt */
.b-attempt {
  dt {
    font-size: min(5vw,20px);
    margin-bottom: 10px;
  }
}

/* history */
.b-history {
  .e-mds.m-normal {
    span {
      display: inline-block;
    }
  }
  .b-table {
    th {
      font-size: min(4.5vw,18px);
      color: var(--blue);
    }
  }
}
.b-chronology {
  justify-content: flex-start;
  flex-wrap: wrap;
  display: flex;
  gap: 30px;
  .b-item {
    color: var(--txt);
    dt {
      text-align: center;
      background: var(--bg50);
      font-size: min(3vw,12px);
      line-height: 1;
      padding: .5em;
    }
    dd {
      font-size: min(3.5vw,14px);
      line-height: 1.5;
      margin-top: 10px;
    }
  }
}
@media screen and (max-width: 650px) {
  .b-chronology {
    .b-item {
      width: 100%;
    }
  }
}
@media screen and (max-width: 767px) {
  .b-history {
    .b-table {
      th {
        width: 130px;
      }
    }
  }
}
@media screen and (min-width: 651px) {
  .b-chronology {
    .b-item {
      width: 196px;
    }
  }
}

/* access */
.b-access {
  .b-table {
    td {
      small {
        font-size: min(3.5vw,14px);
        color: var(--txt-d);
      }
    }
  }
  .b-map {
    aspect-ratio: 370/210;
    margin: 50px 0;
    overflow: hidden;
    iframe {
      width: 100%;
      height: calc(100% + 240px);
      transform: translateY(-120px);
    }
  }
  .b-traffic {
    display: flex;
    gap: 40px;
  }
}
@media screen and (max-width: 767px) { 
  .b-access {
    .b-table {
      th {
        width: 110px;
      }
      a.e-googleMap {
        display: block;
      }
    }
    .b-traffic {
      flex-wrap: wrap;
    }
  }
}
@media screen and (min-width: 768px) {
  .b-access {
    a.e-googleMap {
      margin-left: 1em;
    }
    .b-traffic {
      .b-dotsList {
        width: calc( ( 100% - 40px ) / 2 );
      }
    }
  }
}

/* b-otherCompanyLink */
.b-otherCompanyLink {
  .b-btns {
    margin-top: 50px;
    .b-btn {
      &::after {
        content: "";
      }
    }
  }
}