.top-section {
  padding: 1.5rem 5%;
}
.sub-section {
  padding: 1rem 0;
}
.top-section img {
  width: 100%;
}
.last-section {
  padding-bottom: 290px;
}
@media screen and (max-width: 768px) {
  .top-section {
    padding: 1rem 0;
  }
  .sub-section {
    padding-top: 0;
  }
  .last-section {
    padding-bottom: 240px;
  }
}

.content .pagetitle {
  margin-bottom: 94px;
}
.content .pagetitle h2{
  margin-top: 0;
}
.pagetitle .l-columns{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 5%;
}
@media screen and (max-width: 768px) {
  .content .pagetitle {
    margin-bottom: 40px;
  }
  .pagetitle .l-columns{
    gap: 1.5rem;
    padding: 0;
  }
}


h2 .eng-title,
h3 .eng-title {
  display: block;                /* 改行して上に表示 */
  font-size: 1rem;           /* 14px相当 */
  color: #D64813;                /* 赤色 */
  font-family: "CabinetGrotesk-Bold", sans-serif; /* 太字フォント */
  font-weight: 700;              /* 太字 */
  margin: 0 0 1.1rem;           /* 下の間隔 12px相当 */
}

.l-columns {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 1rem;
}
.l-columns-3 > *{
  width: 33%;
}
.l-columns-2 > *{
  width: 50%;
}

@media screen and (max-width: 768px) {
  /* カラム系を縦並びに */
  .l-columns {
    flex-direction: column;
  }

  .l-columns-3 > *,
  .l-columns-2 > * {
    width: 100%;
  }
}



.has-column-border > * {
  border-right: 1px solid #ccc;
  padding: 30px 40px;
  margin: 0;
  border-bottom: none;
}

.has-column-border > *:last-child {
  border-right: none;
}
@media screen and (max-width: 768px) {
  /* 右ボーダーを下ボーダーに変更 */
  .has-column-border > * {
    border-right: none;
    border-bottom: 1px solid #ccc;
    padding: 20px;
  }

  .has-column-border > *:last-child {
    border-bottom: none;
  }
}

.content-row {
  display: flex;
  gap: 2rem;                  /* 左右の間隔 */
  margin-bottom: 3rem;        /* 行の間隔 */
}
.content-row .text {
  flex: 0 0 60%;               /* 左側60% */
  padding-top: 2rem;           /* 画像の上より少し下にずらす */
}
.content-row .imgbox {
  flex: 0 0 40%;               /* 右側40% */
}
.content-row .imgbox img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
/* コンテンツ行を縦並びに */
  .content-row {
    flex-direction: column;
    gap: 0;
    margin-top: 1rem;
  }

  .content-row .text,
  .content-row .imgbox {
    flex: 0 0 auto;
    width: 100%;
  }

  /* ずらしていた余白をリセット */
  .content-row .text {
    padding-top: 0;
  }
}

.feature-items img {
  width: 50%;          /* 画像を半分に */
  display: block;      /* margin auto を効かせる */
  margin: 0 auto 1rem; /* 中央寄せ + 下に余白 */
  height: auto;
}
.feature-items .feature-title {
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
}
.feature-items .feature-desc {
  line-height: 1.8;
  margin-bottom: 0;
}
