html, body {
  font-family: 'Noto Sans JP', sans-serif;
}

.topContents {
  width: 100%;
  height: 25vh;
  margin-top: 66px;
  background-image: url(/images/companyPageImg.png);
  background-size: cover;
  display: flex;
  justify-content: center;
  line-height: 15vh; /* 上下中央（heightと同じ値） */
}

.topContent{
  width: 30vh;
  height: 15vh;
  border-top: 3px solid white;
  border-bottom: 3px solid white;
  margin: auto;
}

.topContentText {
  color: white;
  font-size: 15px;
}

/* PCサイズ時のスタイル */
@media (min-width: 768px) {
  .topContents {
    height: 43vh;
  }

  .topContent{
    width: 33vh;
  }
}

/************** セクション１ **************/
.section1_PC {
    display: none;
  }

.section1 {
  width: 100%;
  height: 108vh;
}

.section1Contents {
  width: 88%;
  height: 102vh;
  margin: auto;
  margin-top: 40px;
  border-top: 4px solid black;
  border-bottom: 4px solid black;
}

.section1Content1 {
  width: 92%;
  height: 23.8vh;
  margin: auto;
  margin-top: 30px;
  /* border-bottom: 2px solid black; */
  display: flex;
  justify-content: space-between;
}

.section1Content1-2 {
  width: 92%;
  height: 28.5vh;
  margin: auto;
  border-bottom: 2px solid black;
  font-size: 10px;
  margin-top: 15px;
}

.section1Content1Img {
  width: 45%;
  height: 200px;
  background-image: url(/images/companyMessageImg_CEO.png);
  background-size: cover;
}

.section1Content1Message {
  width: 50%;
  height: 170px;
}

.section1Content1MessageTitle {
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}

.section1Content1MessageText {
  font-size: 10px;
  overflow-wrap: break-word; /* 範囲内で改行 */
}

.section1Content2 {
  width: 100%;
  height: 35vh;
  margin: auto;
  margin-top: 30px;
  display: flex
;
}

.section1Content2Left {
  width: 61%;
  height: 100%;
  border-right: 2px solid black;
}

.section1Content2LeftTop {
  width: 100%;
  height: 18%;
  display: flex;
  border-bottom: 2px solid black;
}

.section1Content2LeftImg {
  width: 90%;
  height: 42%;
  background-image: url(/images/companyMissionImg.png);
  background-size: cover;
}

.section1Content2LeftText {
  width: 100%;
  height: 30%;
  font-weight: bold;
  text-align: center;
  /* margin: auto; */
}

.section1Content2LeftBottom {
  width: 200px;
  padding: 25px 0px;
  font-size: 10px;
  overflow-wrap: break-word; /* 範囲内で改行 */
}

.section1Content2Right {
  margin: 15px 0px 0px 15px;
}

.section1Content2RightTitle {
  font-weight: bold;
  text-align: center;
}

.section1Content2RightText {
  width: 125px;
  margin-top: 30px;
  font-size: 10px;
  overflow-wrap: break-word; /* 範囲内で改行 */
}

/* PCサイズ時のスタイル */
@media (min-width: 768px) {

  .section1 {
    display: none;
  }

  .titleSpace {
    height: 35px;
  }

  .section1Contents_PC {
    width: 65%;
    height: 125vh;
    margin: auto;
    margin-top: 40px;
    border-top: 4px solid black;
    border-bottom: 4px solid black;
  }

  .section1Content1_PC {
    width: 94%;
    height: 69vh;
    margin: auto;
    margin-top: 30px;
    border-bottom: 2px solid black;
    display: flex;
    justify-content: space-between;
  }

  .section1Content2LeftBottom_PC {
    width: auto;
    padding: 45px 20px;
    overflow-wrap: break-word; /* 範囲内で改行 */
  }

  .section1Content2LeftImg_PC {
    margin-left: 50px;
    width: 60%;
    height: 53%;
    background-image: url(/images/companyMissionImg.png);
    background-size: cover;
  }

  .section1Content2Right_PC {
    margin: 15px 0px 0px 30px;
  }

  .section1_PC {
    display: block;
    width: 100%;
    height: 134vh;
}

  .section1Content1Img_PC {
    width: 45%;
    height: 450px;
    margin-top: 20px;
    background-image: url(/images/companyMessageImg_CEO.png);
    background-size: cover;
  }

  .section1Content1Message_PC {
    width: 50%;
    height: 170px;
  }

  .section1Content1MessageTitle_PC {
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
  }

  .section1Content1MessageText_PC {
    overflow-wrap: break-word; /* 範囲内で改行 */
    font-size: 13px;
  }

  .section1Content1MessageTextWidth_PC {
    width: 76%;
    margin-left: 55px;
  }

  .section1Content2_PC {
    width: 100%;
    height: 23vh;
    margin: auto;
    margin-top: 30px;
    display: flex
  ;
  }

  .section1Content2Left_PC {
    width: 61%;
    height: 182%;
    border-right: 2px solid black;
  }

  .section1Content2LeftTop_PC {
    width: 100%;
    height: 18%;
    display: flex;
    border-bottom: 2px solid black;
  }

  .section1Content2LeftText_PC {
    width: 100%;
    height: 30%;
    font-weight: bold;
    text-align: center;
    /* margin: auto; */
  }

  .section1Content2LeftBottom_PC {
    width: 200px;
    padding: 25px 0px;
    overflow-wrap: break-word; /* 範囲内で改行 */
  }

  .section1Content2RightTitle_PC {
    font-weight: bold;
    text-align: center;
  }

  .section1Content2RightText_PC {
    width: 236px;
    /* text-align: center; */
    margin-top: 25px;
    overflow-wrap: break-word; /* 範囲内で改行 */
    font-size: 13px;
  }

}


/************** セクション２ **************/
.section2 {
  width: 100%;
  height: 105vh;
  background-color: black;
}

.section2CompanyTitle {
  font-size: 20px;
  font-weight: bold;
  color: white;
  padding: 25px;
  white-space: pre-line; /* 改行を維持 */
}

.section2CompanyContainer {
  width: 100%;
  height: 100%;
  padding-top: 25px;
}

.section2CompanyContainerBlock {
  border-top: 2px solid #ccc;
  padding: 20px 15px;
  width: 70%;
  margin: 0 0 0 auto;
}

.section2CompanyContainerBlock:last-child {
  border-bottom: 2px solid #ccc;
}

.section2CompanyContainerTitle {
  font-weight: bold;
  margin-bottom: 10px;
  color: #fff;
}

.section2CompanyContainerContent {
  white-space: pre-line; /* 改行を維持 */
  font-size: 1.1em;
  color: #fff;
}

/* PCサイズ時のスタイル */
@media (min-width: 768px) {
  .section2 {
    height: 115vh;
  }

  .section2CompanyTitle {
    padding: 50px;
  }
}



/************** セクション３ **************/
.section3 {
  width: 100%;
  height: 88vh;
}

.section3CompanyTitle {
  font-size: 20px;
  font-weight: bold;
  padding: 100px 25px 25px 25px;
  white-space: pre-line; /* 改行を維持 */
}

.section3CompanyText {
  padding: 40px;
  white-space: pre-line; /* 改行を維持 */
}

/* googlemap */
iframe {
  width: 90%;
  height: 300px;
  padding: 20px;
  border: 0;
}

/* PCサイズ時のスタイル */
@media (min-width: 768px) {
  .section3 {
    height: 113vh;
  }

  /* googlemap */
  iframe {
    width: 97%;
    height: 400px;
  }
}