/* コンセプトセクション（全幅・背景色） */
.l-concept {
  background-color: var(--color-bg-white);
  min-height: 770px;
  position: relative;
  overflow: hidden;
}

/* 背景画像エリア（右側） */
.p-concept__bg-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 504px;
  height: 100%;
  overflow: hidden;
}

.p-concept__bg-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* セクションヘッダー（水平paddingは.l-innerが担当） */
.l-concept .p-section-header {
  padding-top: 80px;
  position: relative;
  z-index: 1;
}

/* フィーチャーリスト（水平paddingは.l-innerが担当） */
.p-concept__columns {
  margin-top: 48px;
  max-width: 660px;
  position: relative;
  z-index: 1;
}

/* 各フィーチャーアイテム */
.p-concept__feature {
  color: var(--color-text-dark);
  padding-bottom: 30px;
  /* margin-bottom: 30px; */
}


/* フィーチャータイトル */
.p-concept__feature-title {
  font-family: var(--font-serif-jp);
  font-weight: 500;
  font-size: 18px;
  color: var(--color-text-dark);
  margin-bottom: 10px;
}

/* フィーチャー本文 */
.p-concept__feature-text {
  font-family: var(--font-sans-jp);
  font-weight: 400;
  font-size: 15px;
  color: var(--color-text-gray);
  line-height: 1.9;
  max-width: 520px;
}

/* 装飾要素（左上） */
.p-concept__deco {
  position: absolute;
  left: 10px;
  top: 20px;
  width: 42px;
  height: 100px;
  pointer-events: none;
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* フィーチャーリストの横幅を広げて余白を有効活用 */
  .p-concept__columns {
    max-width: 100%;
  }
  /* 背景画像エリアを縮小してテキストスペースを確保・透過で主張を抑える */
  .p-concept__bg-image {
    width: 360px;
    opacity: 0.2;
  }
}

@media (max-width: 767px) {
  .l-concept {
    min-height: auto;
    overflow: hidden;
  }
  .l-concept .l-inner {
    padding: 40px 20px 48px;
  }
  /* 背景女性写真はSP時も非表示 */
  .p-concept__bg-image {
    display: none;
  }
  /* コンセプト写真エリアの高さをリセット */
  .p-concept__image-area {
    display: none;
  }
  /* デコレーションのSP時位置修正 */
  .p-concept__deco {
    right: 10px;
    left: auto;
  }
  .l-concept .p-section-header {
    padding-top: 48px;
  }
  .p-concept__columns {
    max-width: 100%;
    margin-top: 32px;
  }
  .p-concept__item {
    gap: 12px;
  }
}
