/* =========================
  FV（1つ目のブロック）CSS
  方針：LPらしい視線誘導（左→CTA）、レスポンシブは縦積み
========================= */

.lp-hero {
    /* ベース配色（必要ならここだけ差し替え） */
    --hero-bg: #2FBF5B;
    /* LINEっぽいグリーン */
    --hero-bg2: #26A94E;
    /* 影/グラデ用 */
    --hero-text: #ffffff;
    /* 文字色 */
    --hero-accent: #F59E0B;
    /* CTAオレンジ */
    --hero-accent-dark: #D97706;

    padding: clamp(28px, 4vw, 56px) 16px;
    color: var(--hero-text);
    background:
        radial-gradient(1200px 600px at 20% 20%, rgba(255, 255, 255, .12), transparent 60%),
        radial-gradient(900px 500px at 80% 70%, rgba(255, 255, 255, .10), transparent 55%),
        linear-gradient(135deg, var(--hero-bg), var(--hero-bg2));
}

/* 横幅制御（サイトのコンテナ幅に合わせて調整） */
.lp-hero__inner {
    max-width: 1100px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(18px, 3vw, 36px);
    align-items: center;
}

/* 左：コピー領域 */
.lp-hero__content {
    min-width: 0;
}

.lp-hero__kicker {
    margin: 0 0 10px;
    font-size: 14px;
    letter-spacing: .04em;
    opacity: .95;
}

.lp-hero__title {
    margin: 0 0 12px;
    font-size: clamp(30px, 4.2vw, 52px);
    line-height: 1.12;
    font-weight: 800;
}

.lp-hero__titleLine {
    display: inline-block;
    padding: .06em .2em;
    border-radius: 10px;
    background: rgba(255, 255, 255, .12);
    /* うっすら帯 */
}

.lp-hero__lead {
    margin: 0 0 18px;
    font-size: clamp(16px, 2.1vw, 20px);
    line-height: 1.6;
    opacity: .95;
}

/* CTA */
.lp-hero__cta {
    display: grid;
    gap: 10px;
}

.lp-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6em;

    width: min(420px, 100%);
    padding: 14px 18px;

    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: .02em;

    color: #fff;
    background: linear-gradient(180deg, var(--hero-accent), var(--hero-accent-dark));
    box-shadow:
        0 10px 18px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .25);
    transform: translateY(0);
    transition: transform .15s ease, filter .15s ease;
}

/* クリックできる感じを出す */
.lp-hero__btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

.lp-hero__btn:active {
    transform: translateY(0);
    filter: brightness(.98);
}

.lp-hero__btnIcon {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
}

/* 補足テキスト */
.lp-hero__note {
    margin: 0;
    font-size: 13px;
    opacity: .9;
}

/* 右：画像 */
.lp-hero__media {
    display: grid;
    justify-items: end;
}

.lp-hero__img {
    width: min(520px, 100%);
    height: auto;
    border-radius: 24px;

    /* 画像がない状態でもそれっぽく見える */
    background: rgba(255, 255, 255, .10);
    box-shadow:
        0 18px 36px rgba(0, 0, 0, .22),
        inset 0 1px 0 rgba(255, 255, 255, .18);
}

/* レスポンシブ：スマホは縦積み */
@media (max-width: 860px) {
    .lp-hero__inner {
        grid-template-columns: 1fr;
    }

    .lp-hero__media {
        justify-items: start;
    }

    .lp-hero__img {
        width: 100%;
        border-radius: 18px;
    }
}

/* ==========================================
  FV（見本デザイン再現用CSS）
  ポイント：
  - 背景グリーンのグラデ
  - 右側の白い有機形（擬似要素で再現）
  - 左コピーは大きく、CTAはオレンジ＋白フチ＋影
  - 下部に薄い街背景っぽい雰囲気（擬似要素）
========================================== */

.amdea-hero {
    /* 色トークン（ここだけ触れば全体のトーンが変わる） */
    --g1: #34c75a;
    /* 明るいグリーン */
    --g2: #249b45;
    /* 濃いグリーン */
    --cta: #f59e0b;
    /* オレンジ */
    --cta-dark: #d97706;
    /* 影側オレンジ */
    --white: #fff;

    position: relative;
    overflow: hidden;
padding-top:2em;
    background: linear-gradient(135deg, var(--g1), var(--g2));
}

/* 下部の薄い街背景っぽい帯（※実背景画像があるならここを画像に置き換え） */
.amdea-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 42%;
    background:
        linear-gradient(to top, rgba(255, 255, 255, .95), rgba(255, 255, 255, .55) 55%, rgba(255, 255, 255, 0));
    pointer-events: none;
}

/* 右の白い有機形（ブロブ） */
.amdea-hero::before {
    content: "";
    position: absolute;
    right: -6%;
    top: 8%;
    width: min(720px, 62vw);
    height: min(520px, 46vw);
    background: rgba(255, 255, 255, .92);
    border-radius: 52% 48% 38% 62% / 55% 45% 55% 45%;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .12);
    pointer-events: none;
}

/* 中身レイアウト */
.amdea-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: clamp(18px, 3vw, 40px);
    align-items: center;
    min-height: min(520px, 70vh);
}

/* 左：コピー */
.amdea-hero__copy {
    color: #fff;
    padding-left: clamp(0px, 1vw, 8px);
}

/*FV　　H1*/
.amdea-hero__title {
    margin: 0 0 .5em;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: .01em;
    font-size: clamp(34px, 4.4vw, 56px) !important;
    text-shadow: 0 6px 20px rgba(0, 0, 0, .18);
}

/*FVテキスト*/
.amdea-hero__lead {
    margin: 0 0 3em;
    font-weight: 700;
    line-height: 1.55;
    font-size: clamp(16px, 2.0vw, 22px);
    text-shadow: 0 6px 18px rgba(0, 0, 0, .16);
}

/* CTA：見本の「白フチ＋影＋丸」FVボタン */
.amdea-hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 14px;

    padding: 18px 30px;
    width: min(380px, 100%);
    border-radius: 999px;
    text-decoration: none;

    color: #fff;
    font-weight: 900;
    font-size: clamp(18px, 2.2vw, 26px);
    letter-spacing: .02em;

    background: linear-gradient(180deg, var(--cta), var(--cta-dark));

    /* 白フチ（太め） */
    box-shadow:
        0 0 0 6px rgba(255, 255, 255, .92),
        0 18px 28px rgba(0, 0, 0, .22);
    transition: transform .15s ease, filter .15s ease;
}

/* ホバー（軽く持ち上げ） */
.amdea-hero__cta:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
}

.amdea-hero__cta:active {
    transform: translateY(0);
    filter: brightness(.98);
}

.amdea-hero__ctaIcon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}

.amdea-hero__ctaText {
    display: inline-block;
}



/* 人物画像：見本は右寄せで大きく */
.amdea-hero__person {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;


}

/* 下の小さいイラスト（中央下寄り） */
.amdea-hero__mini {
    grid-column: 2 / 3;
    justify-self: start;
    align-self: end;
    transform: translateY(18px);
}

.amdea-hero__miniImg {
    width: min(260px, 34vw);
    height: auto;
    display: block;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .12));
}

/* =========================
  SP：縦積み（見本に近い）
========================= */
@media (max-width: 860px) {
    .amdea-hero {
        padding: 22px 14px 30px;
    }

    .amdea-hero__inner {
        grid-template-columns: 1fr;
        min-height: unset;
    }

    .amdea-hero::before {
        right: -22%;
        top: 22%;
        width: 92vw;
        height: 62vw;
    }

    .amdea-hero__visual {
        justify-self: center;
        width: min(620px, 99vw);
        margin-top: 8px;
    }

    .amdea-hero__mini {
        grid-column: 1 / -1;
        justify-self: center;
        transform: translateY(10px);
        margin-top: 6px;
    }

    .amdea-hero__cta {
        width: 100%;
        justify-content: center;
    }
}

/* =========================
  2ブロック目：お悩み共感
  再現ポイント：
  - 背景：薄いドット（疑似要素で作る）
  - タイトル：濃いグリーン＋太め
  - 白カード：大きめ角丸＋やわらかい影
  - 左：黄色丸チェック＋太字テキスト
  - 右：イラスト3点（上/中/下に配置）
  - 下：締めコピー中央、LINEだけ強調
========================= */

.lp-problem {
    --green: #1e6b45;
    --yellow: #f5cf2a;
    --bg: #f4f6f6;
    --card: #ffffff;
    --text: #2b2b2b;

    position: relative;
    padding: clamp(34px, 6vw, 84px) 16px;
    background: var(--bg);
    overflow: hidden;
}

/* 背景ドット（軽いノイズ感） */
.lp-problem::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(rgba(0, 0, 0, .06) 1px, transparent 1px) 0 0 / 18px 18px;
    opacity: .25;
    pointer-events: none;
}

/* コンテナ */
.lp-problem__inner {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
}

/* タイトル */
.lp-problem__title {
    margin: 0 0 18px;
    text-align: center;
    color: var(--green);
    font-weight: 900;
    letter-spacing: .02em;
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 1.12;
}

/* 白カード */
.lp-problem__card {
    position: relative;
    background: var(--card);
    border-radius: 26px;
    padding: clamp(22px, 3.5vw, 36px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .10);
    border: 1px solid rgba(0, 0, 0, .06);

    display: grid;
    grid-template-columns: 1.1fr .9fr;

    align-items: start;
}

/* 左リスト */
.lp-problem__list {
    margin: 0;
    padding: 0;
    list-style: none;

    display: grid;
    gap: 18px;
    align-content: start;
}

/* 各項目 */
.lp-problem__item {
    display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 14px;
}

/* 黄色丸チェック */
.lp-problem__check {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--yellow);
    display: grid;
    place-items: center;

    color: #fff;
    font-weight: 900;
    font-size: 22px;
    line-height: 1;

    /* 立体感 */
    box-shadow:
        0 10px 18px rgba(0, 0, 0, .12),
        inset 0 2px 0 rgba(255, 255, 255, .35);
}

/* テキスト（太め・大きめ） */
.lp-problem__text {
    color: var(--text);
    font-weight: 900;
    font-size: clamp(18px, 2.1vw, 30px);
    letter-spacing: .01em;
}

/* 右：イラストエリア */
.lp-problem__illus {
    position: relative;
    min-height: 320px;
}

/* 画像 */
.lp-problem__illusImg {
    position: absolute;
    max-width: 100%;
    height: auto;
    display: block;

}

/* 配置（見本の感じに寄せ） */
.lp-problem__illusImg.is-1 {
    top: 6px;
    right: 0;
    width: min(420px, 90%);
}

.lp-problem__illusImg.is-2 {
    top: 48%;
    right: 12%;
    transform: translateY(-50%);
    width: min(330px, 80%);
}

.lp-problem__illusImg.is-3 {
    bottom: 0;
    right: 0;
    width: min(310px, 78%);
}

/* 下の締めコピー */
.lp-problem__closing {
    line-height: 1;
    grid-column: 1 / -1;
    margin: 0 0;
    text-align: center;
    font-weight: 900;
    color: var(--green);
    letter-spacing: .01em;
    font-size: clamp(20px, 2.7vw, 42px);
}

.lp-problem__closingEm {
    color: #5A9940;
    font-weight: 900;
    font-size: 1.18em;
}

/* =========================
  SP：縦積み（左→右→締め）
========================= */
@media (max-width: 860px) {
    .lp-problem__card {
        grid-template-columns: 1fr;
    }

    .lp-problem__illus {
        min-height: 260px;
        margin-top: 6px;
    }

    /* SPは重なりを弱めて見やすく */
    .lp-problem__illusImg.is-1 {
        top: 0;
        right: 0;
        width: min(420px, 100%);
    }

    .lp-problem__illusImg.is-2 {
        top: 55%;
        right: 8%;
        width: min(320px, 92%);
    }

    .lp-problem__illusImg.is-3 {
        bottom: 0;
        right: 0;
        width: min(300px, 92%);
    }

    .lp-problem__item {
        grid-template-columns: 50px 1fr;
    }

    .lp-problem__check {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
}

/* =========================
  3ブロック目：3サービス導線
  再現ポイント
  - 背景：薄ドット
  - 見出し：上が濃いグリーン、下はグレーで少し小さめ
  - カード：白＋角丸＋柔らかい影＋上イラスト＋ボタンはオレンジで丸
  - ボタン：白フチっぽい＆下に影
========================= */

.lp-services {

    --green: #1e6b45;
    --sub: #6b7280;
    --bg: #F0F5ED;
    --card: #ffffff;
    --cta: #f59e0b;
    --cta-dark: #d97706;
    padding: clamp(34px, 6vw, 84px) 16px;
    position: relative;
    background: var(--bg);
    overflow: hidden;
}

/* 背景ドット */
.lp-services::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(rgba(0, 0, 0, .06) 1px, transparent 1px) 0 0 / 18px 18px;
    opacity: .22;
    pointer-events: none;
}

.lp-services__inner {
    position: relative;
    z-index: 1;
    max-width: 1120px;
    margin: 0 auto;
}

.lp-services__head {
    text-align: center;

    margin-bottom: clamp(18px, 3vw, 38px);
}

.lp-services__title {
    margin: 0 0 10px;
    font-weight: 900;
    color: var(--green);
    letter-spacing: .02em;
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 1.15;
}

.lp-services__sub {
    margin: 0;
    font-weight: 900;
    color: #4e535d;
    letter-spacing: .02em;
    font-size: clamp(18px, 2.3vw, 22px);
    line-height: 1;
}

/* 3枚カード */
.lp-services__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(14px, 2.4vw, 24px);
}

/* カード */
.lp-services__card {
    background: var(--card);
    border-radius: 26px;
    padding: clamp(18px, 2.6vw, 24px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .10);
    border: 1px solid rgba(0, 0, 0, .06);

    display: grid;
    gap: 12px;
    align-content: start;

    /* 下の余白を確保（ボタンの影が潰れないように） */
    padding-bottom: clamp(22px, 3vw, 30px);
}



.lp-services__illustImg {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
}

/* タイトル（カード内） */
.lp-services__cardTitle {
    margin: 6px 0 0;
    font-weight: 900;
    color: #1f2937;
    letter-spacing: .01em;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.2;
}

/* 見本では3枚目のタイトルがややグリーン寄りに見えるのでクラスを用意 */
.lp-services__cardTitle.is-green {
    color: var(--green);
    margin-top:0.5em;
    margin-bottom:0;
}

.lp-services__desc {
    margin: 0;
    color: #374151;
    font-weight: 700;
    font-size: clamp(15px, 1.45vw, 18px);
    line-height: 1.8;
}

/* ボタン（見本のオレンジ丸＋影＋白フチ風） */
.lp-services__btn {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.5em;

    width: 100%;
    padding: 14px 18px;
    border-radius: 999px;
    text-decoration: none;

    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
    font-size: clamp(16px, 1.7vw, 20px);

    background: linear-gradient(180deg, var(--cta), var(--cta-dark));
    box-shadow:
        0 0 0 6px rgba(255, 255, 255, .92),
        0 16px 26px rgba(0, 0, 0, .16);
    transition: transform .15s ease, filter .15s ease;
}

.lp-services__btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
}

.lp-services__btn:active {
    transform: translateY(0);
    filter: brightness(.98);
}

.lp-services__btnIcon {
    margin-left:-2em;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .18);
}

/* =========================
  レスポンシブ
========================= */
@media (max-width: 980px) {
    .lp-services__grid {
        grid-template-columns: 1fr;
    }

    .lp-services__card {
        max-width: 620px;
        margin: 0 auto;
    }
}

/* =========================
  4ブロック目：LINE公式でできること
  再現ポイント
  - 背景：薄ドット
  - 見出し：上が濃いグリーン、下がグレー
  - 白カード：角丸＋やわらかい影＋薄い枠
  - 左：黄色丸アイコン（チェック/ユーザー/ロボ）
  - 右：合成イラスト（1枚画像）
  - 下：強調コピー（9,500万人を太く、緑強調）
========================= */

.lp-capable {
    --green: #1e6b45;
    --sub: #6b7280;
    --bg: #f4f6f6;
    --card: #ffffff;
    --yellow: #f5cf2a;
    --text: #111827;

    position: relative;
    padding: clamp(36px, 6vw, 84px) 16px;
    background: var(--bg);
    overflow: hidden;
}

/* 背景ドット */
.lp-capable::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(rgba(0, 0, 0, .06) 1px, transparent 1px) 0 0 / 18px 18px;
    opacity: .22;
    pointer-events: none;
}

.lp-capable__inner {
    position: relative;
    z-index: 1;
    max-width: 1120px;
    margin: 0 auto;
}

/* 見出し */
.lp-capable__head {
    text-align: center;
    margin-bottom: clamp(18px, 3vw, 30px);
}

.lp-capable__title {
    margin: 0 0 10px;
    font-weight: 900;
    color: var(--green);
    letter-spacing: .02em;
    font-size: clamp(30px, 4.2vw, 54px);
    line-height: 1.15;
}

.lp-capable__sub {
    margin: 0;
    font-weight: 900;
    color: var(--sub);
    letter-spacing: .02em;
    font-size: clamp(18px, 2.3vw, 34px);
    line-height: 1.2;
}

/* カード */
.lp-capable__card {
    background: var(--card);
    border-radius: 26px;
    padding: clamp(22px, 3.5vw, 36px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .10);
    border: 1px solid rgba(0, 0, 0, .06);

    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(14px, 3vw, 30px);
    align-items: center;
}

/* 左リスト */
.lp-capable__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 18px;
}

.lp-capable__item {
    display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 14px;
}

/* 黄色丸アイコン（共通） */
.lp-capable__icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--yellow);
    display: grid;
    place-items: center;
    box-shadow:
        0 10px 18px rgba(0, 0, 0, .12),
        inset 0 2px 0 rgba(255, 255, 255, .35);
    position: relative;
}

/* チェック */
.lp-capable__icon.is-check::before {
    content: "";
    width: 18px;
    height: 10px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    transform: rotate(-45deg);
    margin-top: -2px;
}

/* ユーザー */
.lp-capable__icon.is-user::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #fff;
    position: absolute;
    top: 12px;
}

.lp-capable__icon.is-user::after {
    content: "";
    width: 22px;
    height: 12px;
    border-radius: 999px 999px 10px 10px;
    background: #fff;
    position: absolute;
    bottom: 10px;
}

/* ロボ（簡易） */
.lp-capable__icon.is-bot::before {
    content: "";
    width: 22px;
    height: 16px;
    border-radius: 6px;
    background: #fff;
    position: absolute;
}

.lp-capable__icon.is-bot::after {
    content: "";
    width: 22px;
    height: 2px;
    background: rgba(0, 0, 0, .08);
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

/* テキスト */
.lp-capable__text {
    color: var(--text);
    font-weight: 900;
    font-size: clamp(18px, 2.1vw, 30px);
    letter-spacing: .01em;
}

/* 右イラスト（1枚） */
.lp-capable__visual {
    justify-self: end;
    width: 100%;
}

.lp-capable__visualImg {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 18px;

}

/* 下の強調コピー */
.lp-capable__closing {
    grid-column: 1 / -1;
    margin: 22px 0 0;
    text-align: center;
    font-weight: 900;
    color: #1f2937;
    letter-spacing: .01em;
    font-size: clamp(20px, 2.7vw, 40px);
    line-height: 1.35;
}

.lp-capable__num {
    color: var(--green);
    font-size: 1.12em;
}

.lp-capable__closingEm {
    color: var(--green);
}

/* =========================
  レスポンシブ：縦積み
========================= */
@media (max-width: 980px) {
    .lp-capable__card {
        grid-template-columns: 1fr;
    }

    .lp-capable__visual {
        justify-self: center;
    }

    .lp-capable__visualImg {
        border-radius: 16px;
    }

    .lp-capable__item {
        grid-template-columns: 50px 1fr;
    }

    .lp-capable__icon {
        width: 40px;
        height: 40px;
    }
}


/* =========================
  5ブロック目：無料相談誘導（3カード）
  再現ポイント：
  - 背景：グリーンのグラデ
  - 見出し：白で大きく
  - 点線（ドット列）
  - 3カード：同サイズ、角丸、影、カード内の薄ドット
  - 下部：白い“波”（疑似要素で再現）
========================= */

.lp-start {
    --g1: #3bbf5b;
    /* 明るいグリーン */
    --g2: #1f7f3f;
    /* 濃いグリーン */
    --card: #ffffff;
    --shadow: 0 18px 40px rgba(0, 0, 0, .18);

    position: relative;
    overflow: hidden;
    padding: clamp(46px, 6vw, 86px) 16px clamp(68px, 7vw, 110px);
    background: radial-gradient(1200px 600px at 40% 20%, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 55%),
        linear-gradient(135deg, var(--g1), var(--g2));
}

/* 下の白い“波” */
.lp-start::after {
    content: "";
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -18%;
    height: 55%;
    background: rgba(255, 255, 255, .92);
    border-radius: 55% 45% 0 0 / 70% 70% 0 0;
    transform: rotate(-2deg);
    box-shadow: 0 -18px 50px rgba(0, 0, 0, .10);
    pointer-events: none;
}

/* 右側の白いカーブ（見本の右端の白い回り込み感） */
.lp-start::before {
    content: "";
    position: absolute;
    right: -18%;
    bottom: 8%;
    width: 58%;
    height: 62%;
    background: rgba(255, 255, 255, .16);
    border-radius: 52% 48% 38% 62% / 55% 45% 55% 45%;
    pointer-events: none;
}

.lp-start__inner {
    position: relative;
    z-index: 1;
    max-width: 1120px;
    margin: 0 auto;
    text-align: center;
}

.lp-start__title {
    margin: 0 0 16px;
    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.15;
    font-size: clamp(34px, 4.6vw, 58px);
    text-shadow: 0 10px 24px rgba(0, 0, 0, .22);
}

/* 点線（横いっぱい） */
.lp-start__divider {
    width: min(820px, 92%);
    height: 6px;
    margin: 0 auto 18px;
    opacity: .55;
    background:
        radial-gradient(circle, rgba(255, 255, 255, .75) 2px, transparent 2.5px) center / 16px 6px repeat-x;
}

/* サブコピー */
.lp-start__lead {
    margin: 0 0 clamp(20px, 3vw, 34px);
    color: rgba(255, 255, 255, .95);
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.6;
    font-size: clamp(16px, 2.0vw, 24px);
    text-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

/* 3カード */
.lp-start__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(14px, 2.4vw, 22px);
    align-items: stretch;
}

/* カード共通 */
.lp-startCard {
    position: relative;
    background: var(--card);
    border-radius: 18px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(0, 0, 0, .06);
    overflow: hidden;

    padding: 20px 20px 18px;
    min-height: 300px;
    /* 高さ揃え */
    text-align: left;
}

/* カード内の薄ドット（見本の紙っぽい感じ） */
.lp-startCard::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(rgba(0, 0, 0, .05) 1px, transparent 1px) 0 0 / 18px 18px;
    opacity: .25;
    pointer-events: none;
}

/* 上側イラスト（1枚目） */
.lp-startCard__topIllust {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: start;
    margin-bottom: 12px;
}

.lp-startCard__img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    display: block;

}

/* タイトル・本文 */
.lp-startCard__ttl {
    position: relative;
    z-index: 1;
    margin: 10px 0 8px;
    font-weight: 900;
    letter-spacing: .01em;
    font-size: clamp(20px, 2.0vw, 30px);
    color: #1f2937;
}

.lp-startCard__txt {
    position: relative;
    z-index: 1;
    margin: 0;
    font-weight: 800;
    line-height: 2;
    margin-top:.5em;
    letter-spacing: .01em;
    font-size: clamp(14px, 1.35vw, 18px);
    color: #374151;
}

/* 下側にイラストがくるカード（2,3枚目） */
.lp-startCard.is-bottomIllust {
    padding-bottom: 0;
    /* 下はイラストが埋める */
    display: grid;
    grid-template-rows: auto 1fr;
}

.lp-startCard__body {
    position: relative;
    z-index: 1;
    padding-bottom: 10px;
}

.lp-startCard__bottomIllust {
    margin-bottom:1em;
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding-top: 6px;
}

/* 下イラストはカード下に“どん”と置く */
.lp-startCard.is-bottomIllust .lp-startCard__img {
    width: 100%;
    border-radius: 12px;
}

/* =========================
  Responsive
========================= */
@media (max-width: 980px) {
    .lp-start__cards {
        grid-template-columns: 1fr;
    }

    .lp-startCard {
        text-align: left;
        max-width: 640px;
        margin: 0 auto;
    }
}

/* =========================
  6ブロック目：問い合わせCTA
  再現ポイント：
  - タイトル：濃いグリーン＋サブはグレー
  - 楕円背景：薄緑＋ドット
  - 中央台座：白＋影＋角丸
  - 2ボタン：グラデ＋内側ハイライト＋下影
  - 装飾（ロボ/吹き出し/人物）は画像差し替え
========================= */

.lp-contact {
    --green: #1e6b45;
    --sub: #6b7280;

    --stage: #e9f3ee;
    /* 楕円の薄緑 */
    --dot: rgba(0, 0, 0, .06);

    --line1: #2f7a4a;
    --line2: #1f5f37;

    --mail1: #f7b52b;
    --mail2: #e29608;

    position: relative;
    padding: clamp(38px, 5vw, 64px) 16px;

}

/* 見出し */
.lp-contact__inner {
    max-width: 1120px;
    margin: 0 auto;
}

.lp-contact__head {
    text-align: center;
    margin-bottom: clamp(18px, 3vw, 28px);
}

.lp-contact__title {
    margin: 0 0 10px;
    color: var(--green);
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.15;
    font-size: clamp(30px, 4.2vw, 56px);
}

.lp-contact__sub {
    margin: 0;
    color: var(--sub);
    font-weight: 900;
    letter-spacing: .01em;
    line-height: 1.25;
    font-size: clamp(18px, 2.2vw, 30px);
}

/* 楕円ステージ */
.lp-contact__stage {
    position: relative;
    margin: clamp(16px, 3vw, 22px) auto 0;
    padding: clamp(38px, 5vw, 58px) clamp(16px, 3vw, 28px);
    border-radius: 999px;
    background: var(--stage);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .10);
    overflow: hidden;
}

/* ドット */
.lp-contact__stage::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(var(--dot) 1px, transparent 1px) 0 0 / 18px 18px;
    opacity: .35;
    pointer-events: none;
}

/* 白い台座 */
.lp-contact__panel {
    position: relative;
    z-index: 1;
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(18px, 2.6vw, 26px);
    background: rgba(255, 255, 255, .92);
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
}

/* 2ボタン */
.lp-contact__btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(12px, 2vw, 18px);
}

.lp-contact__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    padding: 18px 18px;
    border-radius: 14px;
    text-decoration: none;

    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
    font-size: clamp(18px, 2.0vw, 28px);

    position: relative;
    box-shadow: 0 16px 26px rgba(0, 0, 0, .18);
    border: 1px solid rgba(255, 255, 255, .22);
    overflow: hidden;
}



.lp-contact__btnIcon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .14);
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, .18);
    position: relative;
    z-index: 1;
}

.lp-contact__btnText {
    position: relative;
    z-index: 1;
    white-space: nowrap;
}

.lp-contact__btn.is-line {
    background: linear-gradient(180deg,
            #34D399 0%,
            /* 明るいグリーン */
            #22C55E 45%,
            /* メイン */
            #16A34A 100%
            /* 濃いグリーン */
        );
}

.lp-contact__btn.is-mail {
    background: linear-gradient(180deg, var(--mail1), var(--mail2));
}

/* 装飾：ロボ＆吹き出し（画像差し替え） */
.lp-contact__robot {
    position: absolute;
    z-index: 2;
    right: clamp(10px, 2.8vw, 22px);
    top: clamp(6px, 2.2vw, 14px);
    width: clamp(110px, 18vw, 180px);
    pointer-events: none;
}

.lp-contact__robotImg {
    width: 100%;
    height: auto;
    display: block;

}

.lp-contact__balloon {
    position: absolute;
    z-index: 2;
    left: clamp(18px, 5vw, 54px);
    top: clamp(10px, 3vw, 24px);
    width: clamp(120px, 18vw, 200px);
    pointer-events: none;
    transform: rotate(-6deg);
}

.lp-contact__balloonImg {
    width: 100%;
    height: auto;
    display: block;
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .14));
}

/* 下：人物＋注釈 */
.lp-contact__foot {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 16px;
    margin-top: clamp(16px, 3vw, 38px);
    justify-content: center;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.lp-contact__people {
    width: clamp(140px, 18vw, 220px);
}

.lp-contact__peopleImg {
    width: 100%;
    height: auto;
    display: block;

}

.lp-contact__note {
    margin: 0;
    font-weight: 900;
    letter-spacing: .01em;
    line-height: 1.5;
    color: #374151;
    font-size: clamp(16px, 1.8vw, 26px);
}

.lp-contact__noteStrong {
    color: var(--green);
}

/* =========================
  Responsive
========================= */
@media (max-width: 980px) {
    .lp-contact__btns {
        grid-template-columns: 1fr;
    }

    .lp-contact__stage {
        border-radius: 34px;
        /* スマホは楕円が潰れるので角丸箱に寄せる */
    }

    .lp-contact__foot {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .lp-contact__people {
        margin: 0 auto;
    }

    .lp-contact__balloon {
        display: none;
        /* スマホは邪魔なら消す（必要なら残す） */
    }
}

h2.lp-problem__title.is-style-section_ttl {
    font-size: 2em;
    color: #37623E;
    margin-bottom: .5em;
    margin-top: 0;
}

h2.lp-start__title.is-style-section_ttl.-white {
    font-size: 2.7em;
    margin-bottom: 1em;
}
section.-bg-green.lp-services{
    background: #F0F5ED;
}
/* 画像エリアの高さを固定 */
.lp-services__illust {
  height: 160px; /* ← 好きな高さに調整 */
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-startCard__bottomIllust {
  height: 140px;
  overflow: hidden;
}

.lp-startCard__img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* ← 切り抜かない */
}
@media (max-width: 599px) {
section.amdea-hero {
    padding: 3em 20px 0;
}
.amdea-hero__copy{
    padding-left: 10px;
}
/* はみ出し防止（基本） */
.amdea-hero__copy {
  max-width: 100%;
  box-sizing: border-box;
}
.amdea-hero__copy {
  min-width: 0;
}

  .amdea-hero__copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-left: 16px; /* 安全余白 */
    padding-right: 16px;
  }
h1.amdea-hero__title.is-style-section_ttl {
    font-size: 29px !important;
    line-height:1.5;
       
}
        .amdea-hero__cta {
             width: 95%;
    gap: 14px;
    padding: 14px 6px;
}
.amdea-hero__ctaIcon {
    margin-left: -2em;
}
    .amdea-hero__visual {
      
        margin-top: -3em;
    }
    .amdea-hero::before {
        right: -42%;
        top: 42%;
        width: 122vw;
        height: 102vw;
    }

.lp-problem__list{
    padding-left:0 !important;
}
.lp-problem__closing {
    font-size:1.7em;
        line-height: 1.5;
    margin-top: 2em;
}
.lp-services__cardTitle.is-green{
    font-size:1.7em;
}
.lp-services__btn{
    font-size:1.25em;
}
h2.lp-start__title.is-style-section_ttl.-white {
    font-size: 2em;
}
.lp-contact__note{
    font-size: 1.5em;
}
.lp-contact__btn{
     font-size: 1.4em;
}
    .lp-startCard {
        width: 100%;
    }
    .lp-startCard__body {
  
    padding-bottom: 0;
}
.lp-startCard {
    min-height: auto;
}
.lp-startCard {
  
    padding: 20px 20px 18px !important;
}
.lp-problem__text,
.lp-capable__text{
    letter-spacing: .003em;
     font-size: 1.4em;
}
.lp-start::after{
    height: 65%;
    border-radius: 10% 10% 0 0 / 10% 10% 0 0;


}
.lp-services__card{
    padding:30px 20px 40px;
}
.lp-contact__people {
    width: clamp(260px, 22vw, 320px);
}
}