/*==============================================================
company
==============================================================*/
/*共通*/
.nav-list li:nth-child(2) a {
  color: #4b6f91;
}

.footer-menu li:nth-child(2) a {
  border-bottom: 1px solid #020e24;

  @media (max-width: 991px) {
    border-bottom: unset;
  }
}

.sec-fv {
  justify-content: space-between;
  align-items: center;

  @media (max-width: 991px) {
    flex-direction: column-reverse;
  }
}

.sec-fv-txt {
  padding: 0 0 0 7%;
}

.sec-ttl-eng {
  font-size: clamp(2.5rem, 1.8627rem + 2.6144vw, 5rem);
  font-weight: 600;
  line-height: 1;
  color: #4b6f91;
}

.sec-ttl-jpn {
  font-size: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
  font-weight: 600;
}

.sec-fv-img {
  width: 55%;
  background-color: #fff;
  border-radius: 0 0 0 100px;

  @media (max-width: 991px) {
    width: 100%;
    padding: 100px 16px 16px;
    border-radius: 0;
  }

  .img-box {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 130px 24px 0;

    @media (max-width: 991px) {
      padding: 0px 16px 16px;
    }
  }
}

.lower-common-ttl-box {
  margin-bottom: 40px;
}

.lower-common-ttl-eng {
  font-size: clamp(1.5rem, 1.1176rem + 1.5686vw, 3rem);
  font-weight: 600;
  line-height: 1;
  color: #4b6f91;
}

.lower-common-ttl-jpn {
  font-size: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  font-weight: 600;
  line-height: 1;
}

/*==============================================================
メッセージ*/
.message-cont {
  padding: 80px 32px 0;

  @media (max-width: 991px) {
    padding: 40px 16px 0;
  }
}
.message-box {
  max-width: 1080px;
  margin: 0 auto;
}
.message-item {
  gap: 24px;

  @media (max-width: 991px) {
    flex-direction: column;
  }
}

.message-ttl-box {
  width: 60%;

  @media (max-width: 991px) {
    width: 100%;
  }

  .message-txt {
    font-size: 1rem;
    font-weight: 500;
  }
}

.sp-message {
  justify-content: flex-end;

  @media (max-width: 991px) {
    justify-content: space-between;
  }
}

.message-img {
  flex: 1;

  @media (max-width: 991px) {
    width: 100%;
    max-width: 120px;
  }
}
.message-ttl-box {
  gap: 16px;
}

.message-txt {
  line-height: 28px;
}

.president-role {
  font-family: "ab-ootori", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}

.president-name {
  font-size: clamp(1.375rem, 1.2157rem + 0.6536vw, 2rem);
  font-family: "ab-ootori", sans-serif;
  font-weight: 400;
  font-style: normal;
}

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

/*==============================================================
会社情報*/
.info-cont {
  padding: 80px 32px;
  background-color: #fff;
  position: relative;

  @media (max-width: 991px) {
    padding: 40px 16px;
  }
}

.info-box {
  max-width: 980px;
  margin: 0 auto;
}

.info-table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  background: #fff;
  font-size: 16px;
}

.info-table th {
  width: 30%;
  padding: 40px;
  text-align: left;
  font-weight: 600;
  vertical-align: middle;
  border-bottom: 1px solid #eee;
  color: #4b6f91;
  font-size: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);

  @media (max-width: 991px) {
    padding: 8px;
  }
}

.info-table td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #eee;
  font-size: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
}

.info-table tbody tr:last-child td {
  border-bottom: none;
}
.dec-box {
  @media (max-width: 1580px) {
    margin-top: 32px;
    align-items: flex-end;
    gap: 80px;
    justify-content: center;
  }

  @media (max-width: 991px) {
    margin-top: 16px;
    align-items: flex-end;
    gap: 40px;
    justify-content: center;
  }
}

.dec-img-01 {
  position: absolute;
  top: 40%;
  left: 2%;
  height: 100%;
  max-height: 250px;

  @media (max-width: 1580px) {
    position: unset;
  }
}
.dec-img-02 {
  position: absolute;
  bottom: 5%;
  right: 2%;
  height: 100%;
  max-height: 250px;

  @media (max-width: 1580px) {
    position: unset;
  }
}

/*==============================================================
アクセス*/
.access-cont {
  padding: 80px 32px;
  position: relative;

  @media (max-width: 991px) {
    padding: 40px 16px;
  }
}
.access-box {
  max-width: 1200px;
  margin: 0 auto;
}

.access-item {
  background-color: #fff;
  border-top: 15px solid #e1bb00;
  border-bottom: 15px solid #e1bb00;
  border-radius: 15px;

  @media (max-width: 991px) {
    border-top: 6px solid #e1bb00;
    border-bottom: 6px solid #e1bb00;
    border-radius: 6px;
  }
}

.access-item iframe {
  width: 100%;
  height: 520px; /* PCのデフォルト高さ */
  max-width: 1200px;
  border: 0;
}

@media screen and (max-width: 768px) {
  .access-item iframe {
    height: 300px; /* スマホ用に小さく */
  }
}

.access-dec {
  position: absolute;
  width: 100%;
  max-width: 100px;
  bottom: 0%;
  left: 5%;

  @media (max-width: 991px) {
    display: none;
  }
}
