@charset "utf-8";

.l-header__inner__cv a {
/* 濁った内側の影を削除し、外側に柔らかい影を配置 */

box-shadow: 0 4px 12px rgba(255, 210, 0, 0.3) !important;

/* グラデーションを明るく、透明感のあるものに変更 */
background: linear-gradient(180deg, #ffed4d 0%, #ffd200 100%) !important;
/* 枠線を消してスッキリさせる */
border: none !important;

/* 文字の読みやすさを向上 */
color: #222e43 !important;
padding: 12px 28px !important;
transition: all 0.3s ease;
}

/* ホバー時の洗練された動き */
.l-header__inner__cv a:hover {
transform: translateY(-1px);
box-shadow: 0 6px 16px rgba(255, 210, 0, 0.5) !important;
filter: brightness(1.05); /* 軽く光る演出 */
}

.cvSec__inner__btnArea__btn a, .cvSec__inner__btnArea__btn_g a, {
    /* 「古いプラスチック感」の原因である inset シャドウを削除 */
    box-shadow: 0 10px 25px rgba(255, 210, 0, 0.4) !important;
    background: linear-gradient(135deg, #ffed4d 0%, #ffc400 100%) !important;
    border-radius: 50px !important;
    padding: 22px 50px !important;
    font-size: 26px !important;
    letter-spacing: 0.05em;
    position: relative;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* 擬似要素（光の反射）を加えて高級感を出す */
.cvSec__inner__btnArea__btn a::before, .cvSec__inner__btnArea__btn_g a::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 50%;
    background: rgba(255, 255, 255, 0.2); /* 上半分を少し明るくして立体感を出す */
    border-radius: 50px 50px 0 0;
    pointer-events: none;
}

/* ホバーで「ぷるん」と弾むような動き */
.cvSec__inner__btnArea__btn a:hover {
    transform: scale(1.03) translateY(-3px);
    box-shadow: 0 15px 30px rgba(255, 210, 0, 0.5) !important;
}
.cvSec__inner__btnArea__btn_g a:hover {
    transform: scale(1.03) translateY(-3px);
    box-shadow: 0 15px 30px rgba(0, 181, 0, 0.5) !important;
}

body {
    /* 行間を1.8→2.0に広げ、文章の「固まり感」をほぐす */
    line-height: 2.0 !important;
    /* 真っ黒(#212d43)ではなく、少しだけ柔らかい紺色に近い黒へ */
    color: #333d4f !important;
    /* 文字の間隔をわずかに広げる */
    letter-spacing: 0.05em !important;
}

/* Pointセクション、お客様の声、サポーター紹介など共通 */
.pointSec__inner__list__sec, 
.voiceSec__inner__list__sec, 
.supporterSec__inner__list__sec {
    /* 硬い影を消し、広範囲に広がる薄い影に変更 */
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
    /* 枠線をあえて「白に近いグレー」で薄く入れる */
    border: 1px solid #f0f2f5 !important;
    /* 角丸を大きくして、親しみやすさと洗練さを出す（15px→24px） */
    border-radius: 24px !important;
    /* 内側の余白を増やして、文字を窮屈にさせない */
    padding: 50px 40px !important;
    background: #ffffff !important;
    transition: transform 0.3s ease;
}

/* ホバーした時に少しだけ浮き上がる演出（洗練の極み） */
.pointSec__inner__list__sec:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1) !important;
}

/* 番号部分：重たい紺色を少し明るく */
.troubleSec__inner__list li .num {
    background-color: #4a5a73 !important;
    border-radius: 12px !important; /* 角を少し丸く */
}

/* テキスト部分：背景色を薄くし、左側にアクセントの線をいれる */
.troubleSec__inner__list li .txt {
    background-color: #f8fbfe !important;
    border-left: 5px solid #4a5a73; /* 縦線で視線を誘導 */
    border-radius: 0 12px 12px 0 !important;
    font-size: 22px !important; /* 少し大きく */
}

/* 背景のドットやパターンが主張しすぎないように透過度を上げるかサイズを調整 */
.aboutSec, .troubleSec, .pointSec {
    background-size: 20px 20px !important; /* ドットを細かくして目立たせない */
    opacity: 0.95;
}

/* 見出し（画像）のサイズ感を調整して、左右に余白を持たせる */
.pointSec__inner__ttl img, .aboutSec__inner__ttl img {
    max-width: 90% !important;
    height: auto;
    margin: 0 auto;
    display: block;
}

.aboutSec__inner__copy {
    background-color: #fff !important;
    border: 1px solid #eef2f6 !important;
    box-shadow: 0 15px 35px rgba(34, 46, 67, 0.08) !important; /* 柔らかい影 */
    border-radius: 20px !important;
    padding: 40px 20px !important;
    font-size: 36px !important; /* 少し大きく */
    letter-spacing: 0.1em !important;
    color: #222e43 !important;
}

.aboutSec__inner__list__sec {
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 40px 30px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    border-top: 6px solid #ffd200 !important; /* 上部にアクセントライン */
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.3s ease;
}

.aboutSec__inner__list {
    display: flex !important;
    /* カード同士の間に 30px の明確な隙間を作る */
    gap: 30px !important;
    justify-content: center !important; /* 中央に寄せてバランスを取る */
    width: 100% !important;
}

.aboutSec__inner__list__sec {
    /* 3分割から隙間分(gap:30px)を引いた計算式 */
    width: calc(33.333% - 20px) !important; 
    /* 内側の余白をさらに広げて「情報の呼吸」を助ける */
    padding: 50px 35px !important;
    /* 枠線を消して影をさらに淡くすると、圧迫感が消えます */
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important; /* はみ出し防止 */
}

/* カード内のタイトル */
.aboutSec__inner__list__sec .ttl {
    font-size: 20px !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    color: #222e43 !important;
    height: auto !important; /* 高さを固定しない */
}

/* カード内の説明文 */
.aboutSec__inner__list__sec p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #555 !important;
    text-align: left !important;
}

.aboutSec__inner__list__sec .pic {
    margin-bottom: 25px !important;
    width: 120px !important; /* サイズを統一 */
    height: 120px !important;
    background: #fff9e6; /* 薄い黄色の円形背景を敷く */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

/* 本文の微調整 */
.aboutSec__inner__intro {
    font-size: 18px !important;
    color: #44546f !important;
    margin-bottom: 50px !important;
    font-weight: 500 !important;
}

/* レスポンシブデザイン対応用 */
@media screen and (max-width: 1024px) {
    .aboutSec__inner__list {
        flex-wrap: wrap !important; /* 狭くなったら下に落ちるようにする */
        gap: 20px !important;
    }
    .aboutSec__inner__list__sec {
        /* タブレットサイズでは1枚または2枚並びにする */
        width: calc(50% - 10px) !important; 
    }
}

@media screen and (max-width: 767px) {
    .aboutSec__inner__list__sec {
        /* スマホでは1枚どーんと見せる */
        width: 100% !important;
    }
}

/* 親要素：隙間をしっかり作る */
.introduction-wrap {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 24px !important; /* ボックス間の距離を一定に保つ */
    margin-top: 40px !important;
}

/* 各カード：清潔感のあるホワイトカードへ */
.introduction-box {
    width: calc(48% - 12px) !important; /* 2カラムで綺麗に並べる */
    margin: 0 !important; /* gapで制御するためmarginは0 */
    padding: 35px 30px !important; /* 余白をたっぷりとる */
    background: #ffffff !important;
    border: 1px solid #eef2f6 !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    text-align: left !important; /* 基本は左揃えが見やすい */
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* カード上部にアクセントライン（ブランドカラーの黄色） */
.introduction-box::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 6px;
    background: #ffd200;
}

.introduction-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

/* 「例①」などの見出し部分 */
.introduction-box b {
    display: inline-block;
    color: #222e43;
    font-size: 20px !important;
    margin-bottom: 15px;
    border-bottom: 2px solid #ffd200; /* 下線で強調 */
    padding-bottom: 4px;
}

/* 各項目（職種、月収など）のスタイル */
.introduction-box p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #44546f !important;
    margin-bottom: 10px !important;
}

/* 「チェックマーク」のポイント部分を際立たせる */
.introduction-box .fwb {
    display: block;
    background: #fdf9e6; /* 薄い黄色を背景に敷く */
    padding: 10px 15px !important;
    border-radius: 8px;
    margin-top: 15px !important;
    color: #222e43 !important;
    font-size: 14px !important;
}

@media screen and (max-width: 767px) {
    .introduction-box {
        width: 100% !important; /* スマホでは横幅いっぱい */
        padding: 25px 20px !important;
    }
    
    .introduction-wrap {
        gap: 16px !important;
    }
}

/* 本文の微調整 */
.stepSec__inner__intro {
    font-size: 18px !important;
    color: #44546f !important;
    margin-bottom: 50px !important;
    font-weight: 500 !important;
}

/* 親要素：カード同士を繋ぐ「導線」をイメージ */
.stepSec__inner__list {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    position: relative;
    padding-top: 20px !important;
}

/* 各ステップのカード：シンプルで清潔感のあるデザインへ */
.stepSec__inner__list__sec {
    width: calc(24% - 15px) !important; /* 4つ並びを想定 */
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 30px 20px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #f0f2f5 !important;
    position: relative !important;
    z-index: 1;
}

/* カードの間に「次へ」を示す矢印をCSSで作成（画像に頼らない） */
/*
.stepSec__inner__list__sec:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    font-size: 24px;
    color: #ffd200;
    font-weight: bold;
    z-index: 2;
}
*/

/* 1. 親要素でカウンターをリセット */
.stepSec__inner__list {
    display: flex !important;
    justify-content: space-between !important;
    gap: 20px !important;
    counter-reset: step-count; /* カウンターを初期化 */
    position: relative;
}

/* 2. 各カードの設定 */
.stepSec__inner__list__sec {
    width: calc(24% - 15px) !important;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 40px 20px 30px !important; /* 上部に番号用の余白を作る */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #f0f2f5 !important;
    position: relative !important;
    text-align: center;
}

/* 3. 番号を自動生成して表示 (STEP 01) */
.stepSec__inner__list__sec::before {
    counter-increment: step-count; /* 番号を1増やす */
    content: "STEP 0" counter(step-count); /* 「STEP 01」という文字を作る */
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffd200; /* 黄色いバッジ */
    color: #222e43;
/*
    font-size: 13px;
*/
    font-size: 16px;
    font-weight: 800;
    padding: 4px 15px;
    border-radius: 50px;
    letter-spacing: 0.1em;
    box-shadow: 0 4px 10px rgba(255, 210, 0, 0.3);
    z-index: 3;
}

/* 4. 元々あった古いタイトル周りの調整 */
.stepSec__inner__list__sec .item01 .ttl {
    font-size: 18px !important;
    font-weight: bold !important;
    color: #222e43 !important;
    margin: 15px 0 10px !important;
    display: block !important;
}

/* もし元々のHTMLに数字（01など）が入っている場合、それを消す（二重表示防止） */
.stepSec__inner__list__sec .item01 .ttl span {
    display: none !important; 
}

/* 5. 矢印（次へのガイド） */
/*
.stepSec__inner__list__sec:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -25px;
    right: -70px;
    transform: translateY(-50%);
    font-size: 20px;
    color: #ffd200;
    font-weight: bold;
}
*/

/* スマホ表示の調整 */
@media screen and (max-width: 767px) {
    .stepSec__inner__list {
        flex-direction: column !important;
        gap: 40px !important;
    }
    .stepSec__inner__list__sec {
        width: 100% !important;
    }
    .stepSec__inner__list__sec:not(:last-child)::after {
        content: "↓";
        top: auto;
        bottom: -30px;
        right: 50%;
        transform: translateX(50%);
    }
}

/* 最後のカード（内定）だけ色を変える */
.stepSec__inner__list__sec:last-child {
    width: 100% !important; /* 最後にどーんと配置する場合 */
    margin-top: 40px !important;
    background: linear-gradient(135deg, #fff9e6 0%, #ffffff 100%) !important;
    border: 2px solid #ffd200 !important;
}

/* お祝いのイメージを追加（もし画像があれば差し替え） */
/*
.stepSec__inner__list__sec:last-child::before {
    content: "GOAL!";
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffd200;
    color: #222e43;
    padding:20px 20px 4px 20px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 24px;
height:60px;
}
*/
.stepSec__inner__list__sec:last-child::after {
    content: "GOAL!";
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffd200;
    color: #222e43;
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 24px;
    z-index: 5;
}

    /* =========================
       Base (from s01-base.css)
       - kept minimal subset needed for accurate preview
    ========================= */
    @charset "utf-8";

    body{
      margin:0;
      padding:0;
      font-size:16px;
      line-height:1.8;
      letter-spacing:.03em;
      font-feature-settings:"palt";
      text-align:left;
      font-family:"YakuHanJP", 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
      -webkit-text-size-adjust:none;
      -webkit-backface-visibility:hidden;
      backface-visibility:hidden;
      color:#212d43;
      background:#fff;
    }
    div, dl, dt, dd, ul, ol, li, h1, h2, h3, input, p, article, figure, footer, header, section, summary{margin:0;padding:0;text-align:left;}
    ol, ul{list-style:none;}
    h1, h2, h3{font-size:100%;font-weight:normal;}
    a{text-decoration:none;}
    a:link{color:#212d43;}
    img{max-width:100%;width:auto;height:auto;vertical-align:middle;-webkit-backface-visibility:hidden;}

    /* parts */
    .define_wrap{padding:0 24px;}
    .define_inner{max-width:100%;width:980px;margin:0 auto;}

    @media screen and (min-width:768px){.sp{display:none;}}
    @media screen and (max-width:767px){
      .pc{display:none;}
      .define_wrap{padding:0 4.66666667%;}
    }

    /* =========================
       New sections (LP追加): style aligned to existing LP
       - tuned using aboutSec sizing/rhythm
    ========================= */

    .ieshu-section{padding:70px 0 80px;}

    /* align container with existing LP wrapper */
    .ieshu-container{width:100%;}

    .ieshu-sec-head{margin-bottom:50px;text-align:center;}

    .ieshu-sec-title{
      font-size:32px;
      font-weight:700;
      line-height:1.5;
      letter-spacing:.03em;
      margin:0 0 14px;
      color:#212d43;
      text-align:center;
    }

    .ieshu-sec-lead{
      margin:0;
      font-size:22px;
      font-weight:700;
      line-height:1.6;
      color:#212d43;
      text-align:center;
    }

    /* cards: match aboutSec 3-col layout feel */
    .ieshu-grid3{
      display:flex;
      justify-content:space-between;
      gap:0;
      margin-top:0;
    }

    .ieshu-card{
      width:28.571428571428571%;
      border:0;
      border-radius:10px;
      padding:22px 18px;
      background:#fff;
      box-shadow:0 8px 22px rgba(33,45,67,.10);
    }

    /* Promises block wrapper should span full width (avoid inheriting 3-col card width) */
    .ieshu-promises .ieshu-card{
      width:auto;
    }

    .ieshu-card--soft{
      padding:25px 20px;
      background:#fff;
      box-shadow:0 8px 22px rgba(33,45,67,.10);
    }

    .ieshu-card-top{display:block;margin-bottom:12px;text-align:center;}

    .ieshu-badge{
      display:inline-flex;
      align-items:center;
      height:26px;
      padding:0 12px;
      border-radius:999px;
      background:#f0f3f8;
      font-size:16px;
      font-weight:700;
      color:#212d43;
      white-space:nowrap;
      margin:0 auto 10px;
    }

    .ieshu-card-title{
      font-size:26px;
      font-weight:700;
      line-height:1.3;
      margin:0;
      color:#212d43;
      text-align:center;
    }

    .ieshu-card-text{
      margin:0;
      font-size:16px;
      line-height:1.8;
      color:#212d43;
    }

    .ieshu-note{
      margin:24px 0 0;
      font-size:14px;
      line-height:1.8;
      color:#212d43;
    }

    .ieshu-cta{margin-top:26px;display:grid;gap:8px;justify-items:center;}
    .ieshu-cta--tight{margin-top:18px;}

    /* CTA button (match cvSec) */
    .ieshu-btn{
      display:inline-block;
      border-radius:100px;
      box-shadow:0px 5px 0px 0px rgba(0,0,0,0.2);
      background:transparent;
      border:0;
      padding:0;
    }

    .ieshu-btn > span{
      display:block;
      padding:16px 35px;
      color:#222e43;
      font-size:24px;
      font-weight:bold;
      white-space:nowrap;
      border-radius:100px;
      box-shadow:-5px -9px 3px -6px rgba(0,0,0,0.2) inset;
      background: linear-gradient(to bottom, rgba(255,224,82,1) 0%, rgba(255,210,0,1) 100%);
    }

    .ieshu-btn > span > em{
      font-style:normal;
      padding-left:35px;
      position:relative;
      z-index:1;
    }

    .ieshu-btn > span > em:before{
      content:"";
      display:block;
      width:28px;
      height:30px;
      background: url(../images/icon_entry.png) no-repeat left top;
      background-size:contain;
      position:absolute;
      top:50%;
      left:0;
      transform:translateY(-50%);
      -webkit-transform:translateY(-50%);
    }

    .ieshu-btn:hover{opacity:.9;}

    /* ghost version (use border + white bg, keep pill + shadow) */
    .ieshu-btn--ghost{box-shadow:0px 5px 0px 0px rgba(0,0,0,0.12);} 
    .ieshu-btn--ghost > span{background:#fff; box-shadow:-5px -9px 3px -6px rgba(0,0,0,0.08) inset; border:2px solid #212d43;}

    .ieshu-cta-sub{margin:0;font-size:14px;color:#212d43;line-height:1.8;text-align:center;}

    /* Checklist */
    .ieshu-checklist{list-style:none;padding:0;margin:0;display:grid;gap:14px;}

    .ieshu-checkitem{padding:14px;border-radius:10px;background:#fff;border:1px solid #d9dfe8;}

    .ieshu-checkhead{display:flex;gap:10px;align-items:flex-start;}

    .ieshu-checkicon{
      width:22px;
      height:22px;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid #c7cfdd;
      background:#f0f3f8;
      font-weight:800;
      font-size:12px;
      line-height:1;
      flex:0 0 auto;
      margin-top:2px;
      color:#212d43;
    }

    .ieshu-checktitle{margin:0;font-size:18px;font-weight:700;line-height:1.6;color:#212d43;}

    .ieshu-checktext{margin:8px 0 0 32px;font-size:16px;line-height:1.8;color:#212d43;}

    /* Responsive (match aboutSec mobile rhythm) */
    @media screen and (max-width:767px){
      .ieshu-section{padding:40px 0 35px;}
      .ieshu-sec-head{margin-bottom:15px;text-align:center;}
      .ieshu-sec-title{font-size:16px;margin:0 0 12px;}
      .ieshu-sec-lead{font-size:13px;font-weight:700;text-align:left;}

      .ieshu-grid3{display:block;}
      .ieshu-card{width:auto;margin-bottom:20px;padding:16px;border-radius:10px;}
      .ieshu-card:last-child{margin-bottom:0;}

      .ieshu-card-title{font-size:18px;margin-bottom:0;}
      .ieshu-card-text{font-size:13px;}

      .ieshu-note{margin-top:15px;font-size:13px;}

      .ieshu-cta{justify-items:stretch;}
      .ieshu-btn{width:100%;}
      .ieshu-cta-sub{font-size:13px;}

      .ieshu-checktitle{font-size:16px;}
      .ieshu-checktext{font-size:13px;margin-left:0;}
    }

/* 2026.02.27追記 */
/* 3ステップ：矢印（↓）を確実に中央に寄せる */
@media (max-width: 767px){
  .stepSec .arrow,
  .stepSec .step_arrow,
  .stepSec .down,
  .stepSec .stepDown,
  .stepSec .stepList .arrow {
    display:block;
    width:100%;
    text-align:center;
    margin:10px auto;
  }

  /* 矢印が画像の場合 */
  .stepSec .arrow img,
  .stepSec .step_arrow img {
    display:block;
    margin:0 auto;
  }
}

/* 黄色枠が見切れる対策：border/padding込みで幅計算する */
@media (max-width: 767px){
  .stepSec .goalBox,
  .stepSec .supportBox,
  .stepSec .stepGoal,
  .stepSec .stepItem--goal {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
  }

  /* 親要素のpaddingが強い場合は、内側を少し絞る */
  .stepSec .goalBox,
  .stepSec .supportBox{
    margin-left:auto;
    margin-right:auto;
    padding-left:14px;
    padding-right:14px;
  }

  /* 親が overflow:hidden だと枠が切れる場合がある */
  .stepSec,
  .stepSec .define_inner,
  .stepSec .define_wrap{
    overflow:visible;
  }
}

/* GOALが .pc の中に入って消えている場合、GOALだけ復活させる */
@media (max-width: 767px){
  .stepSec .goal,
  .stepSec .goalLabel,
  .stepSec .goalTitle,
  .stepSec .goalText{
    display:block !important;
  }
}

/* 「？」をやめてSVGチェックにする（フォント依存ゼロ） */
.newPromSec .checkIcon,
.ieshu-checkicon{
  font-size:0; /* 文字を消す */
  background: no-repeat center/12px 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23212d43' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* アイコンフォントを使わず、普通のチェックにする */
.newPromSec .checkIcon::before,
.ieshu-checkicon::before{
  content:"";
  font-size:12px;
  font-weight:800;
}

/* 440px以下でボタンを確実に収める */
@media (max-width: 440px){
  .ieshu-btn,
  .cvSec .btn a{
    width:100%;
    box-sizing:border-box;
  }

  .ieshu-btn > span{
    font-size:18px;        /* 24px → 18px */
    padding:14px 18px;     /* 16/35 → 14/18 */
    white-space:normal;    /* nowrap を解除 */
    text-align:center;
  }

  .ieshu-btn > span > em{
    padding-left:28px;     /* アイコン分を少し縮める */
  }

  /* アイコンがある場合のサイズも縮める */
  .ieshu-btn > span > em:before{
    width:22px;
    height:24px;
  }
}




/* 2026.02.27上村 */
@media screen and (min-width: 768px) {
    /* いったん全部消す */
    .stepSec__inner__list__sec::after {
        content: none;
    }

    /* 1～2番目だけ → */
    .stepSec__inner__list__sec:nth-child(-n+2)::after {
        content: "→";
        position: absolute;
        top: 50%;
        right: -60px;
        transform: translateY(-50%);
        font-size: 20px;
        color: #ffd200;
        font-weight: bold;
    }
}

@media screen and (max-width: 767px) {
    .stepSec__inner__list__sec:not(:last-child)::after {
        content: "↓";
        position: absolute;
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 20px;
        font-weight: bold;
        color: #ffd200;
    }
}

@media screen and (max-width: 767px) {
	.stepSec__inner__list__sec {
	    box-sizing: border-box;
	}

}

@media screen and (max-width: 767px) {

    .stepSec__inner__list__sec:last-child::before {
        top: 10px;           /* ← マイナスをやめる */
        font-size: 18px;     /* 少し小さく */
        height: auto;
        padding: 10px 16px;
    }

}

.stepSec__inner__list__sec {
    position: relative;
}

@media screen and (max-width: 767px) {

    .stepSec__inner__list__sec:last-child {
        padding-top: 40px;
    }

    .stepSec__inner__list__sec:last-child::before {
        top: 0;
    }

}
.stepSec__inner__list__sec:last-child::before {
    content: none !important;
}
.stepSec__inner__list__sec:last-child::after {
    content: "GOAL!" !important;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffd200;
    color: #222e43;
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 24px;
    z-index: 999;
}
@media screen and (max-width: 768px) {
  .stepSec__inner__list__sec:last-child::after {
      display: block !important;
      content: "GOAL!" !important;
      position: absolute !important;
      top: -15px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      background: #ffd200 !important;
      color: #222e43 !important;
      padding: 8px 18px !important;
      border-radius: 50px !important;
      font-weight: 800 !important;
      font-size: 20px !important;
      z-index: 9999 !important;
  }
}
.stepSec__inner__list__sec:last-child::before {
    display: none !important;
}
@media screen and (max-width: 768px) {
  .stepSec__inner__list__sec:last-child::after {
      top: -20px !important;
      font-size: 18px !important;
  }
}
/* 最終カードのSTEPバッジを完全に消す */
.stepSec__inner__list__sec:last-child::before {
    content: none !important;
    display: none !important;
}

/* GOALだけ表示 */
.stepSec__inner__list__sec:last-child::after {
    content: "GOAL!" !important;
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffd200;
    color: #222e43;
    padding: 8px 18px;
    border-radius: 50px;
    font-weight: 800;
    font-size: 20px;
    z-index: 9999;
	width:100px;
	height:38px;
}
/* 「？」をやめてSVGチェックにする（フォント依存ゼロ） */
.newPromSec .checkIcon,
.ieshu-checkicon{
  font-size:0; /* 文字を消す */
  background: no-repeat center/12px 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23212d43' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
/* アイコンフォントを使わず、普通のチェックにする */
.newPromSec .checkIcon::before,
.ieshu-checkicon::before{
  content:"";
  font-size:12px;
  font-weight:800;
}

/* ===== Fix: CTAボタンが少し右寄りに見える → 完全に中央寄せ ===== */
@media screen and (max-width: 767px){

  /* ボタンの外側をflexで中央配置（ズレの原因を断つ） */
  .cvSec__inner__btnArea{
    display:flex;                 /* inline-block を上書き */
    justify-content:center;
    align-items:center;
    width:100%;
  }

  /* ボタン枠を中央に */
  .cvSec__inner__btnArea__btn, .cvSec__inner__btnArea__btn_g {
    display:inline-block;
  }

  /* aの左右marginをautoで中央固定（保険） */
  .cvSec__inner__btnArea__btn a, .cvSec__inner__btnArea__btn_g a{
    margin-left:auto;
    margin-right:auto;
  }
}

/* 2026.03.09 */
/* ============================================
   モバイル固定CTAバー
   ============================================ */
@media screen and (max-width: 767px) {

  /* ページ下部にバー分の余白を追加（コンテンツが隠れないように） */
  body {
    padding-bottom: 76px;
  }

  /* 固定バー本体 */
  .sp-fixed-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    padding: 10px 12px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
    gap: 8px;
    align-items: center;
  }

  /* 会員登録ボタン */
  .sp-fixed-cta__entry {
    flex: 1;
    display: block;
    padding: 12px 10px;
    background: linear-gradient(#ffe052 0%, #ffd200 100%);
    color: #222e43;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border-radius: 100px;
    box-shadow: rgba(0, 0, 0, 0.2) -5px -9px 3px -6px inset;
  }

  /* LINEボタン */
  .sp-fixed-cta__line {
    display: block;
    flex-shrink: 0;
  }

  .sp-fixed-cta__line img {
    height: 44px;
    width: auto;
    display: block;
  }
}

/* PC表示では固定バーを非表示 */
@media screen and (min-width: 768px) {
  .sp-fixed-cta {
    display: none;
  }
}