.company_sec .concept_sec {
  position: relative;
}
.company_sec .concept_sec .cont {
  display: flex;
  justify-content: space-between;
}
.company_sec .concept_sec .cont figure {
  width: 35%;
}
.company_sec .concept_sec .cont figure img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.company_sec .concept_sec .cont .txt {
  width: 60%;
}
.company_sec .concept_sec .cont .txt p {
  line-height: 2;
}
.company_sec .concept_sec .vision {
  margin-bottom: 50px;
}
.company_sec .concept_sec .vision h4 {
  font-weight: bold;
  color: #ea5441;
  font-size: min(2.8vw, 24px);
  margin-bottom: 20px;
}
.company_sec .concept_sec .vision ol li {
  margin-bottom: 10px;
  font-weight: 500;
  font-size: min(1.8vw, 15px);
}
.company_sec .concept_sec .vision ol li span {
  background: linear-gradient(to top, #f1f1f1 30%, transparent 30%);
}
.company_sec .message {
  padding-bottom: 40px;
  position: relative;
}
.company_sec .message::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  background: url("../images/company/message.jpg") right top no-repeat;
  background-size: contain;
  z-index: -1;
}
.company_sec .message .comment {
  width: 50%;
}
.company_sec .message .comment h4 {
  font-size: min(3.5vw, 20px);
  font-weight: bold;
  margin: 30px 0 10px;
}
.company_sec .message .comment p {
  line-height: 1.8;
  margin-bottom: 1em;
}
.company_sec .message .comment dl {
  margin-top: 2em;
  text-align: right;
}
.company_sec .message .comment dl dd span {
  font-size: 1.1em;
  padding-left: 1em;
  letter-spacing: 2px;
}
.company_sec .profile {
  position: relative;
  background-size: contain;
  min-height: 50vh;
}
.company_sec .profile::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 80vw;
  height: 100%;
  background: url("../images/company/vision_bg.jpg") right top no-repeat;
  background-size: 100%;
  z-index: -1;
}
.company_sec .profile .profile_table {
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(3px);
  border-radius: 5px;
}
.company_sec .profile .table {
  width: 100%;
}
.company_sec .profile .table dl {
  border-bottom: 1px solid #999;
}
.company_sec .profile .table dl dt {
  text-align: center;
  vertical-align: middle;
}
.company_sec .profile .table dl dt,
.company_sec .profile .table dl dd {
  padding: 10px;
}
.company_sec .access iframe {
  width: 100%;
  height: 500px;
}
.company_sec .fuse_sec .cont {
  display: flex;
  justify-content: space-between;
}
.company_sec .fuse_sec .cont figure {
  width: 45%;
}
.company_sec .fuse_sec .cont figure ul {
  display: flex;
  gap: 5px;
}
.company_sec .fuse_sec .cont figure ul li {
  cursor: pointer;
}
.company_sec .fuse_sec .cont .info {
  width: 50%;
}
.company_sec .fuse_sec .cont .info h4 {
  font-weight: bold;
  font-size: 1.3em;
  margin-bottom: 10px;
}
.company_sec .fuse_sec .cont .info dl {
  margin-top: 2em;
}
.company_sec .fuse_sec .cont .info dl dt {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 5px;
}
.company_sec .fuse_sec .cont .info dl dd {
  font-size: 0.95em;
}
.company_sec .fuse_sec .cont .info dl dd a {
  text-decoration: underline;
}
.company_sec .fuse_sec iframe {
  margin-top: 20px;
  width: 100%;
  height: 400px;
}

@media screen and (max-width: 1080px) {
  .company_sec .message {
    overflow: hidden;
  }
  .company_sec .message::after {
    right: -8%;
  }
  .company_sec .message .comment {
    width: 60%;
  }
  .company_sec .profile::after {
    width: 100vw;
    background: url("../images/company/vision_bg.jpg") right center no-repeat;
    background-size: 100%;
  }
  .company_sec .profile .profile_table {
    width: 70%;
    background-color: rgba(255, 255, 255, 0.8);
  }
}
@media screen and (max-width: 780px) {
  .company_sec .concept_sec .cont {
    flex-flow: column;
  }
  .company_sec .concept_sec .cont figure {
    width: 70%;
    margin: 0 auto 30px auto;
  }
  .company_sec .concept_sec .cont .txt {
    width: 100%;
  }
  .company_sec .concept_sec .vision h4 {
    font-size: min(3.8vw, 24px);
  }
  .company_sec .concept_sec .vision ol li {
    font-size: min(2.4vw, 15px);
  }
  .company_sec .message::after {
    right: 0;
    top: 0;
    background: url("../images/company/message_sp.jpg") right top no-repeat;
    background-size: contain;
  }
  .company_sec .message .comment {
    width: 100%;
  }
  .company_sec .message .comment h4 {
    width: 60%;
  }
  .company_sec .message .comment .comment_sec {
    margin-top: 15vw;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(3px);
    border-radius: 5px;
  }
  .company_sec .profile::after {
    width: 100vw;
    height: 100%;
    background: url("../images/company/vision_bg.jpg") right top no-repeat;
    background-size: 100%;
    z-index: -1;
  }
  .company_sec .profile .profile_table {
    width: 100%;
    margin-top: 30vw;
  }
  .company_sec .access iframe {
    width: 100%;
    height: 300px;
  }
  .company_sec .fuse_sec .cont {
    flex-direction: column;
  }
  .company_sec .fuse_sec .cont figure {
    width: 100%;
    margin-bottom: 30px;
  }
  .company_sec .fuse_sec .cont .info {
    width: 100%;
  }
  .company_sec .fuse_sec iframe {
    height: 200px;
  }
}