

/* --- コンクールの魅力ページ --- */

.concept-top-visual {
  position: relative;
}

.concept-top-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.concept-top-visual__text {
  position: absolute;
  top: 45%;
  right: 3%;
  transform: translateY(-50%);
  color: #ffffff;
  z-index: 2;
  text-align: right;
}
.concept-top-visual__text h1 {
font-size: 48px;
font-weight: 400;
line-height: 1.4;
letter-spacing: 0.05em;
text-shadow: 0 2px 10px rgba(0,0,0,0.3);
font-family: "Yu Mincho", serif;
}

@media (max-width: 768px) {
.concept-top-visual__text {
right: auto;
left: 6%;
text-align: left;
top: 55%;
}

.concept-top-visual__text h1 {
font-size: 28px;
}
}


.philosophy_box{
padding:38px 32px;
margin:45px 0;
text-align:center;
position:relative;
}

.background_box.beige.philosophy_box:before,
.background_box.beige.philosophy_box:after{
content:"";
display:block;
width:240px;
height:1px;
background:linear-gradient(
to right,
transparent,
#C9A85D,
transparent
);
margin:25px auto;
}

.philosophy_box p{
margin:10px 0;
}
.philosophy_main{
font-size:18px;
font-weight:bold;
margin:18px 0;
}

.concept_hero_subcatch{
text-align:center;
font-size:18px;
line-height:1.8;
margin: 0px auto 50px;
max-width:700px;
}

/* =========================
  メインページ
========================= */

/* ===== 全体 ===== */
.open_competition_rows {
  display: flex;
  flex-direction: column;
  gap: 100px;
  margin: 110px 0 80px;
}

/* ===== 行 ===== */
.open_competition_row {
  position: relative;
  display: flex;
  align-items: center;
}
.open_competition_row:first-child {
  margin: 40px 0;
}

/* 交互 */
.open_competition_row--reverse {
  flex-direction: row-reverse;
}

/* ===== 画像 ===== */
.open_competition_image {
  width: 70%;
}

.open_competition_image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

.open_competition_row--reverse .open_competition_image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: left center;
  border-radius: 16px;
  display: block;
}


/* ===== テキスト（PC） ===== */
.open_competition_text {
  position: absolute;
  right: 4%;
  top: 0;
  transform: translateY(-30%);

  width: 46%;
  padding: 28px 32px;

  /* ★ これを明示的に戻す */
  background: rgba(255, 248, 240, 0.92);
  backdrop-filter: blur(4px);

  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}

/* 逆側 */
.open_competition_row--reverse .open_competition_text {
  left: 4%;
  right: auto;
  transform: translateY(-30%);
}

/* ===== リズム調整 ===== */
.open_competition_row:first-child .open_competition_text {
  transform: translateY(-20%);
}

.open_competition_row:nth-child(2).open_competition_row--reverse .open_competition_text {
  transform: translateY(-35%);
}

.open_competition_row:nth-child(3) .open_competition_text {
  transform: translateY(-28%);
}

/* ===== 見出し ===== */
.open_competition_text h4 {
  display: inline-block;
  margin-bottom: 14px;
  padding-bottom: 6px;

  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.4;

  border-bottom: 1px solid rgba(201, 169, 110, 0.7);
}

/* ===== 本文 ===== */
.open_competition_text p {
  margin: 0 0 18px;
  line-height: 1.75;
}

.open_competition_text p:first-of-type {
  margin-top: 10px;
}

/* ===== スマホ ===== */
@media (max-width: 768px) {

  /* ===== 個別余白リセット ===== */
  .open_competition_row,
  .open_competition_row:first-child,
  .open_competition_row:nth-child(2),
  .open_competition_row:nth-child(3) {
    margin: 0;
    padding: 0;
  }

  /* ===== テキストの余白もリセット ===== */
  .open_competition_text {
    margin: 16px 0 0 0; /* ← 余白Aだけ残す */
  }
/* ===== 全体：ブロック間（余白B） ===== */
  .open_competition_rows {
    gap: 40px; /* ← 余白B（少し広め） */
  }

  /* ===== 各行 ===== */
  .open_competition_row,
  .open_competition_row--reverse {
    display: block;
  }

  /* ===== 画像 ===== */
  .open_competition_image {
    width: 100%;
  }

  .open_competition_image img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* ===== テキスト ===== */
  .open_competition_text {
    position: static;
    transform: none;

    width: 100%;

    /* 余白A（画像→テキスト） */
    margin-top: 16px;

    /* PCの見た目を軽く残す */
    padding: 16px;
    background: rgba(255, 248, 240, 0.92);
    backdrop-filter: blur(4px);

    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  }
}

/* =========================
 課題曲ページ
========================= */
.repertoire_compare .compare_area,
.feedback_compare .compare_area {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 48px 0;
}

/* 上2つ */
.repertoire_compare .compare_area .border_box,
.feedback_compare .compare_area .border_box {
  width: calc(50% - 12px);
  padding: 24px;
  text-align: center;
  box-sizing: border-box;
}

/* ★ 主役（下1つ） */
.repertoire_compare .compare_area .border_box.gold,
.feedback_compare .compare_area .border_box.gold {
  width: 100%;
  border: 2px solid #C9A85D;

  padding: 28px;
  margin-top: 8px;
}

/* タイトル */
.repertoire_compare .compare_area .title,
.feedback_compare .compare_area .title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

/* リスト */
.repertoire_compare .compare_area ul,
.feedback_compare .compare_area ul {
  padding-left: 0;
  list-style: none;
  margin: 0;
}

.repertoire_compare .compare_area li,
.feedback_compare .compare_area li {
  margin: 12px 0;
  line-height: 1.7;
  word-break: keep-all;
}

/* 記号 */
.repertoire_compare .plus,
.feedback_compare .plus {
  color: #C9A85D;
  font-weight: bold;
  margin-right: 6px;
}

.repertoire_compare .minus,
.feedback_compare .minus {
  color: #999;
  font-weight: bold;
  margin-right: 6px;
}

/* スマホ */
@media (max-width: 768px) {

  .repertoire_compare .compare_area,
  .feedback_compare .compare_area {
    gap: 20px;
  }

  .repertoire_compare .compare_area .border_box,
  .feedback_compare .compare_area .border_box,
  .repertoire_compare .compare_area .border_box.gold,
  .feedback_compare .compare_area .border_box.gold {
    width: 100%;
    padding: 20px;
  }

}
.repertoire_feature .feature_cards{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin:40px 0;
}

.repertoire_feature .feature_card{
background:#F8F5EC;
padding:25px;
text-align:center;
border-radius:6px;
}

.repertoire_feature .feature_icon{
color:#C9A85D;
font-size:22px;
margin-bottom:10px;
}

.repertoire_feature .feature_card p{
margin:0;
line-height:1.7;
}

.repertoire_systems .system_flow,
.feedback_systems .system_flow{
margin:40px 0;
}

.repertoire_systems .system_item,
.feedback_systems .system_item{
padding:20px 0;
border-bottom:1px solid #E8E2CF;
}

.repertoire_systems .system_item:last-child,
.feedback_systems .system_item:last-child{
border-bottom:none;
}

.repertoire_systems .system_title,
.feedback_systems .system_title{
font-weight:bold;
font-size:18px;
margin-bottom:8px;
color:#8C7A4F;
letter-spacing:0.03em;
padding-left:10px;
border-left:3px solid #C9A85D;
}

.repertoire_systems .system_item p,
.feedback_systems .system_item p{
margin:0;
line-height:1.8;
}

/* 親要素：PCでは横並び、スマホでは縦にする */
.feedback_compare .hybrid_layout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 40px 0;
}

/* ボックスの基本設定 */
.feedback_compare .hybrid_layout .border_box {
    flex: 1; /* 同じ幅で広がる */
    box-sizing: border-box; /* パディングを含めたサイズ計算 */
    padding: 20px;
    min-width: 0; /* 文字のはみ出し防止 */
}

/* ＋記号 */
.feedback_compare .plus_divider {
    font-size: 24px;
    font-weight: bold;
    color: #666;
    flex-shrink: 0; /* 記号が潰れないように固定 */
}

/* 【重要】スマホ用のレスポンシブ設定 */
@media screen and (max-width: 640px) {
    .feedback_compare .hybrid_layout {
        display: block; /* 横並びを解除して縦に積む */
    }

    .feedback_compare .hybrid_layout .border_box {
        width: 100%; /* 横幅をいっぱいにする */
        margin-bottom: 15px !important;
        padding: 15px; /* スマホ用に内側の余白を少し詰める */
    }

    .feedback_compare .plus_divider {
        text-align: center;
        padding: 10px 0;
        display: block; /* ＋を中央に独立させる */
    }
}
/* スマホ対応（画面幅が狭い時） */
@media screen and (max-width: 768px) {
    .feedback_compare .hybrid_layout {
        flex-direction: column; /* 縦並びに変更 */
    }
    
    .feedback_compare .plus_divider {
        padding: 10px 0;
        transform: rotate(0deg); /* 必要に応じて「▼」などに変更も可 */
    }

    .feedback_conclusion_text .pc_only {
        display: none;
    }
}
/* 結論テキストの装飾 */
.feedback_conclusion_text {
    text-align: center;
    margin-top: 30px;
    line-height: 1.8;
}

.feedback_conclusion_text span {
    display: inline-block;
    font-weight: bold;
    color: #d4af37; /* ゴールド系 */
    font-size: 1.2rem;
    border-bottom: 2px solid #d4af37;
}

/* ペア全体のレイアウト */
.beginnerhall_details_container .detail_pair_row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 50px;
}

.beginnerhall_details_container .detail_pair_row.reverse {
    flex-direction: row-reverse;
}

/* 画像側：少しスリムに（40%） */
.beginnerhall_details_container .pair_image_box {
    flex: 0 0 40%;
    max-width: 40%;
    margin: 0 !important;
}

/* テキスト枠側：どっしり広く（58%） */
.beginnerhall_details_container .detail_pair_row .border_box {
    flex: 0 0 58%; /* 合計が約100%になるよう、隙間(gap)を考慮した数値です */
    max-width: 58%;
    margin: 0 !important;
}
.beginnerhall_details_container .pair_image_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}

/* 枠の中の調整 */
.beginnerhall_details_container .detail_pair_row .border_box_inner {
    padding: 20px 15px !important; /* 余白を少し戻してバランス調整 */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ★タイトルの改行を「絶対に」防ぐ設定 */
.beginnerhall_details_container .detail_pair_row .title {
    /* 幅に合わせて文字サイズを 16px〜22px の間で自動伸縮させる */
    font-size: clamp(1rem, 1.8vw, 1.4rem); 
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 10px;
    word-break: keep-all; /* 単語の途中で切らない */
}

/* タイトル内の特定の単語を塊として扱う */
.beginnerhall_details_container .no_wrap {
    display: inline-block;
    white-space: nowrap; /* このスパンの中は絶対に改行しない */
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .beginnerhall_details_container .detail_pair_row,
    .beginnerhall_details_container .detail_pair_row.reverse {
        flex-direction: column;
        gap: 15px;
    }
    .beginnerhall_details_container .pair_image_box,
    .beginnerhall_details_container .detail_pair_row .border_box {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .beginnerhall_details_container .detail_pair_row .title {
        font-size: 1.2rem; /* スマホでは縦並びで幅が広がるのでサイズ固定 */
    }
}
.beginner_hall_main{
	margin-bottom: 100px;
}
.beginner_hall_detail{
	margin-bottom: 100px;
}
/* --- ホールページ --- */
.hero_area .hall_lead{
text-align:center;
font-size:18px;
margin:30px 0;
line-height:1.8;
}

.hero_area .hall_value{
max-width:720px;
margin:0 auto 60px;
text-align:center;
line-height:1.9;
}
.attractive_hall_detail .hall_grid{
display:flex;
flex-wrap:wrap;
gap:28px;
justify-content:center;
margin:50px 0;
}

.attractive_hall_detail .hall_card{
width:320px;
padding:36px 28px;
background:#FBF8F0;
text-align:center;
border-radius:10px;
border:1px solid #E6DFC8;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
transition:0.25s;
position:relative;
}

.attractive_hall_detail .hall_card:hover{
transform:translateY(-6px);
box-shadow:0 18px 35px rgba(0,0,0,0.12);
background:#ffffff;
}
.attractive_hall_detail .hall_icon{
font-size:22px;
color:#C9A85D;
margin-bottom:8px;
}
.attractive_hall_detail .hall_point{
font-size:12px;
color:#8C7A4F;
letter-spacing:0.05em;
margin-bottom:10px;
}
.attractive_hall_detail .hall_name{
font-size:20px;
font-weight:bold;
margin-bottom:14px;
line-height:1.4;
max-width:260px;
margin-left:auto;
margin-right:auto;
}
.attractive_hall_detail .hall_line{
width:42px;
height:2px;
background:#C9A85D;
margin:0 auto 14px;
}
.attractive_hall_detail .hall_sub{
font-size:14px;
color:#666;
}
.hall_other_text{
text-align:center;
margin-top:20px;
color:#777;
font-size:14px;
}

/* 継続学習システム */
.competitions_learning_cycle{
position:relative;
width:420px;
height:420px;
margin:70px auto;
}

.competitions_learning_cycle .cycle_circle{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:300px;
height:300px;

border-radius:50%;
border:2px dashed #C9A85D;
opacity:0.5;
}

.competitions_learning_cycle .cycle_item{
position:absolute;

width:130px;
height:130px;

border-radius:70px;
background:#FBF8F0;
border:1px solid #E6DFC8;

display:flex;
align-items:center;
justify-content:center;

text-align:center;
font-size:14px;
line-height:1.6;
padding:10px;

box-shadow:0 6px 14px rgba(0,0,0,0.05);
}

.competitions_learning_cycle .cycle_top{
top:0;
left:50%;
transform:translateX(-50%);
}

.competitions_learning_cycle .cycle_right{
right:0;
top:50%;
transform:translateY(-50%);
}

.competitions_learning_cycle .cycle_bottom{
bottom:0;
left:50%;
transform:translateX(-50%);
}

.competitions_learning_cycle .cycle_left{
left:0;
top:50%;
transform:translateY(-50%);
}

@media (max-width: 768px) {

  /* ===== 全体 ===== */
  .competitions_learning_cycle {
    width: 100%;
    height: auto;
    margin: 40px 0;

    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  /* ===== 円は非表示 ===== */
  .competitions_learning_cycle .cycle_circle {
    display: none;
  }

  /* ===== 各アイテム ===== */
  .competitions_learning_cycle .cycle_item {
    position: relative; /* ← 点線用 */

    /* ★ 完全リセット */
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none;

    width: 100%;
    height: auto;

    border-radius: 12px;
    padding: 16px;

    background: #FBF8F0;
    border: 1px solid #E6DFC8;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;
    line-height: 1.6;

    box-shadow: 0 4px 10px rgba(0,0,0,0.04);
  }

  /* ===== 点線（下に伸びる） ===== */
  .competitions_learning_cycle .cycle_item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    transform: translateX(-50%);

    width: 1px;
    height: 20px;
    border-left: 1px dashed #C9A85D;
    opacity: 0.6;
  }

  /* 最後だけ消す */
  .competitions_learning_cycle .cycle_item:last-child::after {
    display: none;
  }

}


.competitions_system_features{
display:flex;
gap:30px;
margin:60px auto;
max-width:900px;
flex-wrap:wrap;
justify-content:center;

}

.competitions_system_features .system_feature{

width:260px;
text-align:center;

}

.competitions_system_features .feature_title{
font-weight:bold;
margin-bottom:10px;
font-size:17px;
color:#8C7A4F;
}

/* 受検スタイル */
.entry-style_options{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

max-width:700px;

margin:50px auto;

}



.entry-style_options .style_option{

padding:30px 20px;

text-align:center;

background:#FBF8F0;

border:1px solid #E6DFC8;

border-radius:10px;

transition:0.3s;

}


.entry-style_options .style_icon{

width:46px;
height:46px;

margin:0 auto 14px;

border-radius:50%;
background:#F3EFE4;

position:relative;

color:#C9A85D;

}
.entry-style_options .style_icon i{

position:absolute;

top:50%;
left:50%;

transform:translate(-50%,-50%);

font-size:22px;

}

.entry-style_options .style_title{

font-weight:bold;
margin-bottom:10px;

color:#8C7A4F;

}

@media (max-width: 768px) {

  .entry-style_options {
    grid-template-columns: 1fr; /* 1列 */
    gap: 16px;

    margin: 30px 0;
    max-width: 100%;
  }

  .entry-style_options .style_option {
    padding: 20px 16px;
    text-align: center; /* ← そのまま中央 */
  }

  .entry-style_options .style_icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 12px; /* ← 中央維持 */
  }

  .entry-style_options .style_icon i {
    font-size: 18px;
  }

  .entry-style_options .style_title {
    margin-bottom: 8px;
    font-size: 15px;
  }

}

/* =========================
   ステージLP（スコープ済み）
========================= */

.stage_lp {
  color: #333;
  opacity: 0;
  transform: translateY(20px);
  animation: stageFadeIn 1.5s ease forwards;
}

/* フェードイン */
@keyframes stageFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ヒーロー */
.stage_lp__hero {
  position: relative;
}

.stage_lp__hero img {
  width: 100%;
  display: block;
}
/* =========================
   コンセプト（上下ライン＋エンブレム）
========================= */

.stage_lp__concept {
  max-width: 900px;
  margin: 20px auto 100px;
  text-align: center;
}

/* フレーム */
.stage_lp__concept_frame {
  position: relative;
  padding-top: 90px;
}

/* タイトル */
.stage_lp__concept_title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 0 20px;
  font-size: 22px;
  letter-spacing: 0.15em;
}
/* エンブレム */
.stage_lp__emblem {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  color: #c9a96e;
  letter-spacing: 0.2em;
}
.stage_lp__emblem img {
  width: 30px;
  height: auto;
  display: block;
}

/* 中身 */
.stage_lp__concept_inner {
  max-width: 640px;
  margin: 0 auto;
}

/* リード */
.stage_lp__concept_lead {
  font-size: 18px;
  margin: 30px 0 30px;
  letter-spacing: 0.1em;
}

/* 本文 */
.stage_lp__concept_text {
  line-height: 2.2;
}
/* 特徴 */
.stage_lp__features {
  max-width: 720px;
  margin: 0 auto;
}

.stage_lp__feature {
  text-align: center;
  margin: 80px 0;
  opacity: 0;
  animation: fadeItem 1.2s ease forwards;
  transition: all 0.4s ease;
}

/* 順番に（dividerがあるのでodd指定） */
.stage_lp__feature:nth-of-type(1) { animation-delay: 1.2s; }
.stage_lp__feature:nth-of-type(3) { animation-delay: 1.4s; }
.stage_lp__feature:nth-of-type(5) { animation-delay: 1.6s; }
.stage_lp__feature:nth-of-type(7) { animation-delay: 1.8s; }

/* ホバー */
.stage_lp__feature:hover {
  transform: translateY(-5px);
}

.stage_lp__feature_title {
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 20px;
  letter-spacing: 0.08em;
  transition: 0.4s;
}

.stage_lp__feature:hover .stage_lp__feature_title {
  color: #c9a96e;
}

.stage_lp__feature p {
  line-height: 2.2;
  color: #444;
}

/* 区切り線 */
.stage_lp__divider {
  width: 0;
  height: 1px;
  background: #ccc;
  margin: 40px auto;
  animation: lineGrow 1s ease forwards;
}

@keyframes lineGrow {
  to {
    width: 40px;
  }
}

/* 共通フェード */
@keyframes fadeItem {
  from {
    opacity: 0;
    transform: translateY(25px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.stage_lp__feature_icon {
  margin-bottom: 20px;
  transition: 0.4s;
}

.stage_lp__feature_icon img {
  width: 90px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* ホバーで少しだけ連動 */
.stage_lp__feature:hover .stage_lp__feature_icon {
  transform: translateY(-2px);
  opacity: 0.8;
}

/* =========================
   円カード（ホール）
========================= */

.stage_lp__hall_cards {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin: 80px 0;
  flex-wrap: wrap;
}

/* カード */
.stage_lp__hall_card {
  text-align: center;
  transition: 0.4s;
}

/* 円 */
.stage_lp__hall_circle {
  width: 230px;
  height: 230px;
  border-radius: 50%;
  border: 1px solid #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
  background: rgba(249, 246, 240, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}

/* 中身 */
/* 中央揃え（そのまま維持） */
.stage_lp__hall_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;

  transform: translateY(22px); /* 視覚補正 */
}

/* ホール名 */
.stage_lp__hall_name {
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

/* 小ホール */
.stage_lp__hall_sub {
  display: block;
  font-size: 12px;
  margin-top: 2px;
}

/* 日付 */
.stage_lp__hall_date {
  font-size: 13px;
  color: #999;
  letter-spacing: 0.08em;
}
/* ホバー */
.stage_lp__hall_card:hover {
  transform: translateY(-5px);
}

.stage_lp__hall_card:hover .stage_lp__hall_circle {
  border-color: #c9a96e;
}

.stage_lp__intro_section {
  max-width: 720px;
  margin: 60px auto;
  text-align: left; /* 左寄せに変更 */
  padding: 40px 20px;
  position: relative;
  opacity: 0;
  transform: translateY(25px);
  animation: fadeInSection 1s forwards;
}

.stage_lp__intro_title {
  font-size: 22px; /* 特徴セクションと同等 */
  letter-spacing: 0.05em;
  margin-bottom: 40px;
  position: relative;
}


/* 文章ブロック */
.stage_lp__intro_text_block p {
  font-size: 16px; /* 特徴セクションに合わせて大きめ */
  line-height: 2;
  margin-bottom: 20px;
  color: #444;
  text-align: left;
}

/* おすすめブロック */
.stage_lp__intro_recommend_block {
  margin-top: 70px;
  margin-bottom: 70px;
  text-align: left;
}

.stage_lp__recommend_heading {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
  position: relative;
}

/* 左ラインアクセント */
.stage_lp__recommend_heading::before {
  content: "";
  width: 40px;
  height: 2px;
  background: #c9a96e;
  position: absolute;
  left: -50px;
  top: 50%;
  transform: translateY(-50%);
}

/* 箇条書き */
.stage_lp__recommend_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.stage_lp__recommend_list li {
  position: relative;
  margin-bottom: 16px;
  font-size: 16px; /* 大きめにして特徴セクションと統一 */
  line-height: 1.8;
  color: #444;
  padding-left: 20px;
}

/* 左のゴールドマーク */
.stage_lp__recommend_list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #c9a96e;
  font-weight: bold;
}

/* スクロールフェード */
@keyframes fadeInSection {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}