@media (max-width: 768px) {

  ul,
  ol {
    padding-left: 1.4em;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  main,
  section,
  .container,
  .page-shell,
  .page-inner,
  .content,
  .wrapper {
    max-width: 100%;
  }

  body {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.01em;
  }

  p,
  li {
    font-size: 1rem !important;
  }

}



h1 {
  font-size: clamp(1.05rem, 3vw, 1.3rem) !important;
  line-height: 1.22 !important;
}

h2 {
  font-size: clamp(1.0rem, 3.2vw, 1.25rem) !important;
  line-height: 1.28 !important;
}

h3 {
  font-size: clamp(0.9rem, 2.8vw, 1.1rem) !important;
  line-height: 1.32 !important;
}


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

@font-face {
  font-family: 'eRfont';
  font-display: swap;
  src: url('./KiwiMaru-Regular.woff') format('woff');
}

body {
  font-family: system-ui, "Segoe UI", 'Noto Sans JP', -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Apply Kiwi Maru only to headings in mobile optimizations */
h1,
h2,
h3,
h4,
h5,
h6,
.page-title {
  font-family: 'eRfont', sans-serif;
}

.page-title {
  font-size: clamp(1.5rem, 1.05rem + 2.2vw, 2.2rem);
  font-weight: 700;
  background: linear-gradient(90deg, #ff4081, #40c4ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-align: center;
  margin-bottom: 0.75rem;
  line-height: 1.2;
}

a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
  /* 下線を少し下げて見やすく */
  text-decoration-thickness: 0.5px;
  /* ←細く */

}

/* btn / button は対象外（下線なし） */
a.btn,
a.button {
  text-decoration: none;
}

@media (max-width: 768px) {

  /* 画像の歪みを防ぎつつ高さを抑える */
  .actress-card__img {
    aspect-ratio: 1 / 1 !important;
    /* 正方形に近くして高さを抑える */
    object-fit: cover !important;
    object-position: top !important;
    /* 顔を優先 */
    height: auto !important;
  }

  /* actress_list.html で使用されているラッパー形式への対応 */
  .actress-card__img-wrapper {
    padding-top: 100% !important;
    /* 正方形 */
  }

  /* オーバーレイはせず、下の情報をコンパクトに */
  .actress-card {
    position: static !important;
  }

  .actress-card__body,
  .actress-card__info {
    position: static !important;
    background: transparent !important;
    padding: 0.5rem 0.4rem 0.6rem !important;
    text-align: center !important;
    /* 元のスタイルに合わせて中央揃えに戻す */
  }

  .actress-card__name {
    font-size: 0.85rem !important;
    margin-bottom: 0.15rem !important;
    line-height: 1.2 !important;
    color: var(--ink) !important;
    white-space: normal !important;
    /* オーバーレイ案での制限を解除 */
    overflow: visible !important;
    text-overflow: clip !important;
  }

  .actress-card__meta {
    font-size: 0.7rem !important;
    line-height: 1.1 !important;
  }

  /* グリッド自体のギャップも少し詰める */
  .actress-grid {
    gap: 0.6rem !important;
  }

  /* 全体の余白も詰め、より一覧性を高める */
  .section-title {
    margin-top: 1.2rem !important;
    margin-bottom: 0.6rem !important;
  }

  .container {
    padding: 0.75rem 0.8rem !important;
  }
}