.problem-solution-wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.l-header-info__logo{
display: flex;
}
  
.problem-container {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.problem-block, .solution-block {
  flex: 1;
  padding: 30px;
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s, box-shadow 0.3s;
}

.problem-image, .solution-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 20px;
}

.arrow {
  font-size: 2em;
  color: #007acc;
}

.problem-block:hover, .solution-block:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.problem-title, .solution-title {
  font-size: 3em;
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #007acc;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.problem-description, .solution-description {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #555;
}

@media (max-width: 768px) {
  .problem-container {
    flex-direction: column;
  }

  .problem-block, .solution-block {
    max-width: 100%;
  }

  .arrow {
    display: none;
  }
}
.l-inner{
  width: 88.8%;
  margin: 0 auto;
  max-width: 1120px;
}
.content-section {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.content-item {
  flex: 1;
  min-width: 300px;
  max-width: 32%;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 左寄せに変更 */
  padding: 20px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-align: left; /* 左寄せに変更 */
}

.icon {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
  text-align: center; /* 画像をコンテナ内で中央に配置 */
}

.content-image {
  width: 100%;
  height: 380px; /* 縦の長さを380pxに固定 */
  object-fit: cover; /* 縦横比を保ちつつ、コンテナに収まるように切り取り */
  border-radius: 8px; /* 少し角を丸めることで柔らかい印象を与える */
}

    

.content-text h3 {
  font-size: 2rem; /* 一回り大きく */
  color: #1b254e;
  margin-bottom: 10px;
  padding: 12px;
  border: 5px solid #1b254e;
}

.content-text p {
  font-size: 1.6rem; /* 一回り大きく */
  color: #555;
  line-height: 1.6; /* 読みやすさのために少し行間を広げる */
}
.back_wht .in h1,.back_wht .in h2{
 color: #fff;
  text-align: center;
}
.home-driveline {
  padding-bottom: 5rem;
}

.contact-container {
  background-color: #ffffff;
  padding: 20px;
 
  width: 48%;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.contact-container h2 {
  font-size: 2rem;
  margin-top: 0;
  color: #333333;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}

.contact-container p {
  font-size: 2rem;
  color: #555555;
  margin: 10px 0;
}

.contact-container a {
  color: #007bff;
  text-decoration: none;
}

.contact-container a:hover {
  text-decoration: underline;
}

/* スマートフォン対応 */
@media (max-width: 600px) {
  .contact-container {
      padding: 15px;
  }

  .contact-container h2 {
      font-size: 1.2em !important;
  }

  .contact-container p {
      font-size: 1.2rem !important;
  }
  .add_ttl{
    font-size: 2rem !important;
  }
}.caption {
  text-align: center;
  font-size: 24px;
  color: #333; /* Adjust color as needed */
  margin-top: 10px; /* Space between image and caption */
}
.parent {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  }
  .maebox{
    background-color: #ddd;
    padding: 8px;
  }
  .grid_midashi{
    height: 36px !important;
  }
  .flexbox{
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: space-between;
  
  }
  .item50{
    width: 48%;
    justify-content: center;
    display: flex;
    margin-bottom: 16px;
  }

  @media (min-width: 768px) {
    .home-servicerei__inner {
        padding-top: 220px;
        padding-bottom: 80px;
    }
}

h2.original{
  font-size: 3rem;
  margin-bottom: 8px;
}
.wht{
  color: #fff;
}
.acc_color{
  color: #1b254e;

}
.red{
  color: #901;

}
@media screen and (max-width: 650px){
  .home-driveline{
    padding-left: 16px;
    padding-right: 16px;
  }
    .c-head01__en{
      font-size: 3.4rem !important;
    }
    .parent{
      margin-bottom: 6rem;
    }
    .home-skillup__stage-wrap{
      height: 80vh;
    }
}
.line{
  margin-top: 16px;
  margin-bottom: 16px;
}

@media screen and (min-width: 651px) and (max-width: 1000px) {
  .l-main-img-copy__head {
    font-size: 6rem;
}
.c-head01__en {
  font-size: 4rem;
}
.content-item{
  min-width: 250px;
  width: 30%;
}
.home-team__con {
  padding-left: 16px;
  padding-right: 16px;
}
.home-skillup-content__item {
  display:flex;
}
.home-skillup-content__num-in {
  font-size: 2rem;
  line-height: 2.4rem;
}
.home-skillup-content__head{
  font-size: 2rem;
}
.home-skillup-content__txt{
  font-size:16px !important; 
}
}
.js-footer{
  background-color: #333;
}

.header_p{
  font-size: 12pt;
}