html {
    scroll-behavior: auto !important;
}

@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');

.sale-lp h1,
.sale-lp h2,
.sale-lp h3,
.sale-lp p {
    color: #424242;
    margin-block: 0;
    padding: 0;
    background-color: transparent;
}

.sale-lp h2:before,
.sale-lp h2:after {
    display: none;
}

.sale-lp h3:before,
.sale-lp h3:after {
    display: none;
}

.sale-lp img {
    width: 100%;
    display: block;
    vertical-align: bottom;
}

.sale-lp small {
    display: block;
    color: #4F4F4F;
}

/* メインビジュアル */

.sale-lp .mainvisual h1 {
    background: linear-gradient(to right, #56B6DE, #FFAAF2);
    color: #fff;
    font-size: clamp(1.25rem, 0.939rem + 1.33vw, 2rem);
    text-align: center;
    padding-block: 10px;
    box-shadow: 0 3px 8px #00000040;
    margin-bottom: clamp(0rem, -0.466rem + 1.99vw, 1.125rem);
}

.sale-lp .mainvisual h1 span {
    position: relative;
    font-size: clamp(1.5rem, 0.838rem + 1.76vw, 2.25rem);
}

.sale-lp .mainvisual h1 span::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    background-color: #fff;
    border-radius: 2px;
    left: 50%;
    transform: translatex(-50%);
}

.sale-lp .mainvisual {
    background-image: linear-gradient(rgba(255, 255, 255, 0.7),
            rgba(255, 255, 255, 0.7)), url("https://entraide.jp/wp-content/uploads/2026/08/colorful-smoky-watercolor-textured-background-scaled.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.sale-lp .mv-item {
    display: flex;
    position: relative;
    background-color: #fff;
    display: inline-block;
    padding: 10px 20px;
    border: 4px solid transparent;
    border-image: linear-gradient(to right,
            #F55EBE,
            #47BBE9) 1;
    padding-left: clamp(3.75rem, 2.714rem + 4.42vw, 6.25rem);
    margin-bottom: 14px;
}

.sale-lp .mv-item img {
    width: clamp(5rem, 2.928rem + 8.84vw, 10rem) !important;
    position: absolute;
    left: -4%;
    bottom: 0;
}

.sale-lp .mv-item p {
    display: inline-block;
    font-size: clamp(1.25rem, 0.939rem + 1.33vw, 2rem);
    font-weight: bold;
    text-align: right;
}

.sale-lp .mv-wrapper {
    padding: clamp(1.25rem, -0.404rem + 4.41vw, 3.125rem);
    position: relative;
    z-index: 2;
}

.sale-lp .mv-wrapper p {
    font-size: clamp(1.25rem, 0.588rem + 1.76vw, 2rem);
    font-weight: bold;
}

.sale-lp .mv-wrapper p span {
    color: #ED3CDF;
    position: relative;
    z-index: 1;
}

.sale-lp .mv-wrapper p span::before {
    content: "";
    width: 100%;
    height: 14px;
    background-color: #FEFFC0;
    position: absolute;
    z-index: -1;
    bottom: -2px;
}

.sale-lp .mv-wrapper .sub-title {
    display: flex;
    font-family: "Zen Antique", serif;
    font-size: 40px;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 15px #fff,
        0 0 20px rgba(255, 255, 255, 1);
    letter-spacing: -0.1em;
    margin-top: -20px !important;
}

.sale-lp .mv-wrapper .sub-title img {
    width: clamp(5rem, 2.928rem + 8.84vw, 10rem);
    height: auto;
    object-fit: contain;
    display: block;
}


.sale-lp .mv-wrapper .sub-title h2 span {
    background: linear-gradient(to bottom left,
            #FF84D8 0%,
            #D982FF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-size: clamp(6.25rem, 4.955rem + 5.52vw, 9.375rem);
    text-shadow: none;
}

.sale-lp .sub-title2 {
    display: flex;
    gap: 20px;
    margin-top: -20px;
}

.sale-lp .sub-title2 p {
    background: linear-gradient(to right, #D982FF, #FF84D8);
    color: #fff;
    padding: 8px;
    box-shadow: 0 3px 8px #00000040;
    font-family: "Zen Antique", serif;
}

.sale-lp .title {
    font-family: "Zen Antique", serif !important;
    text-shadow:
        0 0 5px #fff,
        0 0 10px #fff,
        0 0 15px #fff,
        0 0 20px rgba(255, 255, 255, 1);
}

.sale-lp .title h2 {
    font-size: clamp(1.25rem, 0.588rem + 1.76vw, 2rem);
}

.sale-lp .title h2 span {
    font-size: clamp(1.875rem, 1.098rem + 3.31vw, 3.75rem);
    background: linear-gradient(to bottom left,
            #FF88D9 0%,
            #A258C3 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    text-shadow: none;
}

.sale-lp .teacher {
    position: absolute;
    bottom: 0;
    right: clamp(-3.125rem, -4.42rem + 5.52vw, 0rem);
    width: clamp(18.75rem, 13.57rem + 22.1vw, 31.25rem);
    z-index: -1;
}

/* CTAボタン */

.sale-lp .cta {
    background: linear-gradient(to left bottom,
            #FFDBFB,
            #D0F1FF);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-block: clamp(1.25rem, 0.732rem + 2.21vw, 2.5rem);
    text-align: center;
}

.sale-lp .cta .cta-title {
    font-size: clamp(1.5rem, 1.293rem + 0.88vw, 2rem);
    font-family: "Zen Maru Gothic", sans-serif;
    background-color: #fff;
    border: 4px solid transparent;
    border-image: linear-gradient(to right,
            #F55EBE,
            #47BBE9) 1;
    display: inline-block;
    padding: 4px 20px;
    font-family: "Zen Maru Gothic", sans-serif !important;
}

.sale-lp .cta .cta-title-img {
    width: 80%;
    margin-top: -20px;
    margin-bottom: 20px;
    margin-inline: auto !important;
}

@media(max-width:500px) {
    .sale-lp .cta .cta-title-img {
        margin-top: 0;
    }
}

.sale-lp .cta-btn {
    background-color: #fff;
    text-align: center;
    position: relative;
    padding-block: clamp(1.25rem, 0.732rem + 2.21vw, 2.5rem) 20px;
    border-bottom: 3px solid transparent;
    border-image: linear-gradient(to right,
            #FC4F8A,
            #5CE1FF) 1;
}

.sale-lp .cta-btn::before {
    content: "";
    width: 20%;
    height: 3px;
    background: linear-gradient(to right,
            #FC4F8A,
            #CC7BAD);
    top: 0;
    left: 0;
    position: absolute;
}

.sale-lp .cta-btn::after {
    content: "";
    width: 20%;
    height: 3px;
    background: linear-gradient(to right,
            #82BFE3,
            #5CE1FF);
    top: 0;
    right: 0;
    position: absolute;
}

.sale-lp .cta-btn .cta-btn-title {
    width: 100%;
    font-size: clamp(0.813rem, 0.32rem + 2.1vw, 2rem);
    position: absolute;
    top: -8%;
    left: 50%;
    transform: translatex(-50%);
    font-family: "Zen Maru Gothic", sans-serif !important;
}

.sale-lp .cta-btn a img {
    width: 90%;
    margin-inline: auto;
    animation: anime1 0.5s ease 0s infinite alternate;
    transform-origin: center;
    padding-top: 10px;
}

@keyframes anime1 {
    from {
        transform: scale(0.9, 0.9);
    }

    to {
        transform: scale(1, 1);
    }
}

/* 洋裁教室について */

.sale-lp .about {
    background-color: #FFD9F1;
    padding-block: clamp(4.375rem, 3.598rem + 3.31vw, 6.25rem) 40px;
    text-align: center;
    position: relative;
}

.sale-lp .about::after {
    position: absolute;
    content: "";
    width: 100px;
    height: clamp(1.25rem, -0.304rem + 6.63vw, 5rem);
    top: 100%;
    left: 50%;
    transform: translatex(-50%);
    border-top: clamp(1.25rem, -0.304rem + 6.63vw, 5rem) solid #FFD9F1;
    border-left: clamp(6.25rem, 2.365rem + 16.57vw, 15.625rem) solid transparent;
    border-right: clamp(6.25rem, 2.365rem + 16.57vw, 15.625rem) solid transparent;
}

.sale-lp .about-wrapper {
    background-image: url("https://entraide.jp/wp-content/uploads/2026/08/Group-132-scaled.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border: 2px solid #94B9FF;
    border-radius: 20px;
    width: 90%;
    margin-inline: auto;
    padding-block: clamp(1.875rem, 1.357rem + 2.21vw, 3.125rem) clamp(1.25rem, 0.991rem + 1.1vw, 1.875rem);
    font-size: clamp(1rem, 0.896rem + 0.44vw, 1.25rem);
    position: relative;
    padding-inline: 10px;
}

.sale-lp .about-wrapper h3 {
    background-image: url("https://entraide.jp/wp-content/uploads/2026/08/Group-126.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    font-size: clamp(1.25rem, 0.939rem + 1.33vw, 2rem);
    color: #fff;
    padding: clamp(0.625rem, 0.366rem + 1.1vw, 1.25rem) clamp(0.625rem, 0.366rem + 1.1vw, 1.25rem) clamp(1.875rem, 1.357rem + 2.21vw, 3.125rem);
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translatex(-50%);
    width: 100%;
}

.sale-lp .about-wrapper p {
    line-height: 2;
}

.sale-lp .about-wrapper p span {
    position: relative;
    z-index: 1;
}

.sale-lp .about-wrapper p span::before {
    content: "";
    width: 100%;
    height: 14px;
    background-color: #FEFFC0;
    position: absolute;
    z-index: -1;
    bottom: -2px;
}

/* ========================================
   こんな人におすすめ
======================================== */

.sale-lp .recommend {
    padding: clamp(5rem, 4.482rem + 2.21vw, 6.25rem) 5%;
    background: #fff;
}

/* タイトル */
.sale-lp .recommend>h3 {
    margin: 0;
    text-align: center;
    font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
    font-weight: 700;
    line-height: 1.4;
}

/* タイトル下のピンクの線画像 */
.sale-lp .recommend>h3+img {
    display: block;
    width: clamp(400px, 25vw, 320px);
    height: auto;
    margin: 0 auto clamp(45px, 5vw, 70px);
}

/* 3つの項目を横並び */
.sale-lp .recommend-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(30px, 5vw, 80px);
    max-width: 1200px;
    margin: 0 auto;
}

/* 各項目 */
.sale-lp .recommend-item {
    position: relative;
    padding-bottom: 50px;
}

/* 写真 */
.sale-lp .recommend-item>img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.08 / 1;
    object-fit: cover;
}

/* テキストボックス */
.sale-lp .recommend-item>p {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);

    width: 92%;
    margin: 0;
    padding: 14px 10px;

    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg,
            #FC4FBA 0%,
            #5BBDF5 100%) border-box;

    border: 3px solid transparent;
    border-radius: 999px;

    text-align: center;
    font-size: clamp(0.875rem, 0.75rem + 0.4vw, 1.125rem);
    line-height: 1.6;

    box-shadow: 4px 5px 4px rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 767px) {

    .sale-lp .recommend {
        overflow: hidden;
    }

    /* タイトル */
    .sale-lp .recommend>h3 {
        font-size: clamp(1.25rem, 5vw, 1.625rem);
    }

    /* ピンク線 */
    .sale-lp .recommend>h3+img {
        width: 260px;
        max-width: 70%;
        margin-bottom: 45px;
    }

    /* 縦並び */
    .sale-lp .recommend-wrapper {
        display: flex;
        flex-direction: column;
        gap: 70px;
    }

    .sale-lp .recommend-item {
        position: relative;
        width: 100%;
        padding: 0;
        min-height: 230px;
    }

    /* 写真 */
    .sale-lp .recommend-item>img {
        width: 68%;
        height: auto;
        aspect-ratio: auto;
        object-fit: contain;
    }

    /* 1・3枚目：写真を左 */
    .sale-lp .recommend-item:not(.row-reverse)>img {
        margin-right: auto;
        margin-left: 0;
    }

    /* 2枚目：写真を右 */
    .sale-lp .recommend-item.row-reverse>img {
        margin-left: auto;
        margin-right: 0;
    }

    /* テキストボックス */
    .sale-lp .recommend-item>p {
        width: 45%;
        min-width: 190px;
        padding: 12px 10px;

        font-size: clamp(0.75rem, 3vw, 0.9375rem);
        line-height: 1.5;

        bottom: 18px;
        transform: none;
    }

    /* 1・3枚目：文章を右側へ */
    .sale-lp .recommend-item:not(.row-reverse)>p {
        left: auto;
        right: 0;
    }

    /* 2枚目：文章を左側へ */
    .sale-lp .recommend-item.row-reverse>p {
        left: 0;
        right: auto;
    }
}

/* ========================================
   入会するメリット
======================================== */


.sale-lp .merit-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 45px 35px;

    padding: 0 8% 80px;
}

/* ------------------------------
   セクションタイトル
------------------------------ */

.sale-lp .merit>h3 {
    width: 100%;
    padding: 18px 20px;

    background: linear-gradient(100deg,
            #52BCE8 0%,
            #B8A6F0 55%,
            #F48BE9 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2rem);
    font-weight: 700;
    box-shadow: 0 3px 8px #00000040;
    margin-bottom: clamp(2.5rem, 1.982rem + 2.21vw, 3.75rem);
}


/* ------------------------------
   各メリットカード
------------------------------ */

.sale-lp .merit-item {
    width: calc((100% - 70px) / 3);
    max-width: 300px;

    overflow: hidden;

    background: #fff;
    border-radius: 15px;

    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.15);

    text-align: center;
}


/* ------------------------------
   写真
------------------------------ */

.sale-lp .merit-item>img {
    display: block;

    width: 100%;
    aspect-ratio: 1.4 / 1;
    object-fit: cover;

    margin: 0;
}


/* ------------------------------
   「メリット1」など
------------------------------ */

.sale-lp .merit-item .merit-title {
    width: 65%;

    margin: 20px auto 12px;
    padding: 5px 10px;

    background: linear-gradient(to right,
            #50BDE9,
            #F178E7);

    color: #fff;
    font-size: clamp(0.875rem, 0.75rem + 0.4vw, 1.125rem);
    font-weight: 700;
    line-height: 1.3;
}


/* ------------------------------
   説明文
------------------------------ */

.sale-lp .merit-item>p:not(.merit-title) {
    margin: 0;
    padding: 0 15px 22px;

    color: #444;
    font-size: clamp(0.75rem, 0.65rem + 0.35vw, 0.9375rem);
    line-height: 1.6;
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {

    .sale-lp .merit-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;

        gap: 30px;

        padding: 0 12% 60px;
    }


    /* セクションタイトル */

    .sale-lp .merit>h3 {
        width: calc(100% + 28%);
        margin: 0 -14% 30px;
        padding: 14px 15px;

        font-size: clamp(1.375rem, 6vw, 1.75rem);
    }


    /* カード */

    .sale-lp .merit-item {
        width: 100%;
        max-width: none;

        border-radius: 12px;
    }


    /* 写真 */

    .sale-lp .merit-item>img {
        width: 100%;
        aspect-ratio: 1.35 / 1;
        object-fit: cover;
    }


    /* メリットタイトル */

    .sale-lp .merit-item .merit-title {
        width: 40%;

        margin: clamp(1rem, 0.896rem + 0.44vw, 1.25rem) auto 10px;
        padding: 6px 10px;

        font-size: 1rem;
    }


    /* 説明 */

    .sale-lp .merit-item>p:not(.merit-title) {
        padding: 0 15px 15px;

        font-size: 0.8125rem;
        line-height: 1.5;
    }
}

/* ========================================
   サービス内容
======================================== */

.sale-lp .service {
    padding: clamp(60px, 8vw, 100px) 5% clamp(70px, 9vw, 110px);
    background: #fff;
}

/* セクションタイトル */
.sale-lp .service>h3 {
    width: fit-content;
    margin: 0 auto clamp(50px, 6vw, 80px);
    padding: 16px 55px;

    background: linear-gradient(100deg,
            #16A8E8 0%,
            #A99BF2 55%,
            #F36EEA 100%);

    color: #fff;
    font-size: clamp(1.5rem, 1.15rem + 1.4vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;

    border-radius: 12px;
}

/* 5つのサービス */
.sale-lp .service-wrapper {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(55px, 6vw, 80px) clamp(25px, 3vw, 45px);

    max-width: 1200px;
    margin: 0 auto;
}

/* 上段3つ */
.sale-lp .service-item:nth-child(1) {
    grid-column: 1 / span 2;
}

.sale-lp .service-item:nth-child(2) {
    grid-column: 3 / span 2;
}

.sale-lp .service-item:nth-child(3) {
    grid-column: 5 / span 2;
}

/* 下段2つ */
.sale-lp .service-item:nth-child(4) {
    grid-column: 2 / span 2;
}

.sale-lp .service-item:nth-child(5) {
    grid-column: 4 / span 2;
}


/* ========================================
   各サービス
======================================== */

.sale-lp .service-item {
    width: 100%;
}


/* 上部タイトル */
.sale-lp .service-title {
    display: flex;
    align-items: center;
    gap: 14px;

    min-height: 80px;
    padding: 8px 0;

    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;

    border-image: linear-gradient(to right,
            #16A8E8,
            #F36EEA) 1;
}


/* 01〜05 */
.sale-lp .service-title .title-left {
    flex-shrink: 0;

    margin: 0;

    color: #139FE8;
    font-size: clamp(2.25rem, 2.146rem + 0.44vw, 2.5rem);
    font-weight: 500;
    line-height: 1;
}


/* タイトル本文 */
.sale-lp .service-title .title-right {
    margin: 0;

    color: #333;
    font-size: clamp(0.875rem, 0.75rem + 0.4vw, 1.125rem);
    font-weight: 600;
    line-height: 1.45;
}


/* 写真 */
.sale-lp .service-item>img {
    display: block;

    width: 100%;
    aspect-ratio: 1.45 / 1;
    object-fit: cover;

    margin-top: 16px;
}


/* 説明文 */
.sale-lp .service-item>p {
    margin: 18px 0 0;

    color: #444;
    font-size: clamp(0.75rem, 0.68rem + 0.25vw, 0.9375rem);
    line-height: 1.8;
}

/* ========================================
   サービス内容 SP
======================================== */

@media screen and (max-width: 767px) {

    .sale-lp .service {
        padding: 40px 13% 70px;
    }


    /* セクションタイトル */
    .sale-lp .service>h3 {
        width: 50%;
        margin-bottom: 35px;
        padding: 12px clamp(0.25rem, -0.164rem + 1.77vw, 1.25rem);

        font-size: 1.25rem;
        border-radius: 8px;
    }


    /* 1列に変更 */
    .sale-lp .service-wrapper {
        display: block;
    }


    .sale-lp .service-item {
        width: 100%;
        margin-bottom: 38px;
    }


    .sale-lp .service-item:last-child {
        margin-bottom: 0;
    }


    /* PC用grid指定を解除 */
    .sale-lp .service-item:nth-child(1),
    .sale-lp .service-item:nth-child(2),
    .sale-lp .service-item:nth-child(3),
    .sale-lp .service-item:nth-child(4),
    .sale-lp .service-item:nth-child(5) {
        grid-column: auto;
    }


    /* 番号＋タイトル */
    .sale-lp .service-title {
        gap: 12px;
        min-height: auto;
        padding: 4px 0 6px;

        border-top-width: 3px;
        border-bottom-width: 3px;
    }


    .sale-lp .service-title .title-left {
        font-size: clamp(2.25rem, 10vw, 3rem);
    }


    .sale-lp .service-title .title-right {
        font-size: clamp(0.75rem, 3.2vw, 0.875rem);
        line-height: 1.4;
    }


    /* 写真 */
    .sale-lp .service-item>img {
        margin-top: 10px;

        width: 100%;
        aspect-ratio: 1.45 / 1;
        object-fit: cover;
    }


    /* 説明 */
    .sale-lp .service-item>p {
        margin-top: 12px;

        padding: 0 12px;

        font-size: clamp(0.625rem, 2.7vw, 0.75rem);
        line-height: 1.7;
    }
}

/* ========================================
   最短ロードマップ
======================================== */

.sale-lp .map {
    position: relative;
    overflow: hidden;
    padding: 0 0 clamp(40px, 6vw, 70px);
    background:
        linear-gradient(rgba(255, 255, 255, 0.7),
            rgba(255, 255, 255, 0.8)),
        url("https://entraide.jp/wp-content/uploads/2026/09/fabric-waves-dance-pastel-colors-mimicking-gentle-flow-serene-sea-scaled.jpg") center / cover no-repeat;
}


/* 見出し */
.sale-lp .map>h3 {
    margin: 0 0 clamp(25px, 4vw, 40px);
    padding: 14px 20px;

    background: linear-gradient(100deg,
            #F28EE9 0%,
            #B7A3F1 48%,
            #55BDE6 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.375rem, 1rem + 1.4vw, 2rem);
    font-weight: 700;
    line-height: 1.3;

    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}


/* ロードマップ全体 */
.sale-lp .map-wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(18px, 3vw, 30px);

    width: min(82%, 1000px);
    margin: 0 auto;
    padding-block: 30px;
}


/* 各ロードマップ画像 */
.sale-lp .map-wrapper>img {
    display: block;
    width: 100%;
    height: auto;
}

@media screen and (max-width: 767px) {

    .sale-lp .map {
        padding-bottom: 35px;
    }

    .sale-lp .map>h3 {
        margin-bottom: 22px;
        padding: 12px 15px;
        font-size: 1.25rem;
    }

    .sale-lp .map-wrapper {
        width: 90%;
        gap: 14px;
    }
}

/* ========================================
   生徒さん実績
======================================== */

.sale-lp .achievement {
    position: relative;
    padding: clamp(50px, 7vw, 90px) 7% clamp(70px, 8vw, 100px);
    overflow: hidden;

    background:
        linear-gradient(rgba(255, 255, 255, 0.6),
            rgba(255, 255, 255, 0.6)),
        url("https://entraide.jp/wp-content/uploads/2026/09/colorful-painting-texture-white-background-scaled.jpg") center / cover no-repeat;
}

/* 上下の水色ラインを少し斜めに */
.sale-lp .achievement::before,
.sale-lp .achievement::after {
    content: "";
    position: absolute;
    left: -2%;
    width: 104%;
    height: 40px;
    background: #75d9f2;
    z-index: 1;
}

.sale-lp .achievement::before {
    top: 0;
    transform: rotate(-5deg);
    transform-origin: left center;
}

.sale-lp .achievement::after {
    bottom: -80px;
    transform: rotate(-5deg);
    transform-origin: left center;
}

/* セクションタイトル */
.sale-lp .achievement>h3 {
    position: relative;
    z-index: 2;

    width: fit-content;
    margin: 0 auto clamp(40px, 5vw, 60px);
    padding: 12px 45px;

    background: linear-gradient(to right,
            #10aeea 0%,
            #9d9cf4 55%,
            #f56cea 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.375rem, 1.1rem + 1vw, 1.875rem);
    font-weight: 700;
    line-height: 1.2;

    border-radius: 10px;
}

/* 2列 */
.sale-lp .achievement-wrapper {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(35px, 5vw, 60px) clamp(45px, 7vw, 90px);

    max-width: 900px;
    margin: 0 auto;
}

/* 各実績 */
.sale-lp .achievement-item {
    position: relative;
    width: 100%;
}

/* 作品写真 */
.sale-lp .achievement-item>img {
    display: block;
    width: 72%;
    height: auto;
    margin: 0 auto;
}

/* 年代ラベル */
.sale-lp .achievement-title {
    position: absolute;
    top: -28px;
    left: -4px;

    width: clamp(6.25rem, 4.955rem + 5.52vw, 9.375rem);
    aspect-ratio: 1 / 1;

    z-index: 3;
}

/* 右側のカードはラベルを右寄せ */
.sale-lp .achievement-item:nth-child(even) .achievement-title {
    left: auto;
    right: -4px;
}

.sale-lp .achievement-title img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ラベル内文字 */
.sale-lp .achievement-title p {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;
    margin: 0;

    transform: translate(-50%, -50%);

    text-align: center;
    font-size: clamp(0.75rem, 0.65rem + 0.35vw, 1rem);
    font-weight: 700;
    line-height: 1.35;
    color: #333;
}

@media screen and (max-width: 767px) {

    .sale-lp .achievement {
        padding: 45px 12% 70px;
    }

    .sale-lp .achievement>h3 {
        margin-bottom: 45px;
        padding: 10px 35px;
        font-size: 1.25rem;
    }

    /* 1列 */
    .sale-lp .achievement-wrapper {
        display: flex;
        flex-direction: column;
        gap: 42px;
    }

    .sale-lp .achievement-item {
        width: 100%;
    }

    /* 写真 */
    .sale-lp .achievement-item>img {
        width: 70%;
        margin: 0 auto;
    }

    /* ラベル */
    .sale-lp .achievement-title {
        top: -10%;
        left: 0;
    }

    /* 2、4番目は右側 */
    .sale-lp .achievement-item:nth-child(even) .achievement-title {
        left: auto;
        right: 0;
    }

    .sale-lp .achievement-title p {
        font-size: 0.8rem;
    }

    .sale-lp .achievement::before,
    .sale-lp .achievement::after {
        height: 40px;
    }

    .sale-lp .achievement::after {
        bottom: -3.5%;
    }
}

/* ========================================
   実際の口コミ
======================================== */

.sale-lp .review {
    padding: clamp(50px, 7vw, 90px) 8%;
    background-color: #eaf9ff;
}


/* タイトル */
.sale-lp .review>h3 {
    width: fit-content;
    margin: 0 auto clamp(40px, 5vw, 60px);
    padding: 15px 55px;

    background: linear-gradient(to right,
            #10AEEA 0%,
            #969FF4 55%,
            #F36EEA 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.3;

    border-radius: 12px;
}


/* 口コミ画像全体 */
.sale-lp .review-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;

    gap: 30px;

    max-width: 1000px;
    margin: 0 auto;
}


/* 口コミ画像 */
.sale-lp .review-wrapper img {
    display: block;
    width: 100%;
    height: auto;
}

.sale-lp .review-wrapper .review3 {
    margin-top: -40%;
}

@media screen and (max-width: 767px) {

    .sale-lp .review {
        padding: 45px 8% 60px;
    }

    /* タイトル */
    .sale-lp .review>h3 {
        margin-bottom: 35px;
        padding: 12px 25px;

        font-size: 1.25rem;
        border-radius: 8px;
    }

    /* 1列 */
    .sale-lp .review-wrapper {
        grid-template-columns: 1fr;
        gap: 22px;

        width: 100%;
    }

    .sale-lp .review-wrapper img {
        width: 100%;
        height: auto;
    }

    .sale-lp .review-wrapper .review3 {
        margin-top: 0;
    }
}

/* ========================================
   共通
======================================== */

.sale-lp .price,
.sale-lp .text,
.sale-lp .continue {
    background: #fff;
}

.sale-lp .plan-wrapper {
    display: flex;
    flex-direction: column;
    gap: 28px;
    max-width: 850px;
    margin: 0 auto;
}

.sale-lp .plan-item {
    position: relative;
    padding: 48px 25px 22px;
    border: 2px solid transparent;
    border-radius: 12px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(to right,
            #13A9E9 0%,
            #9A9CF4 52%,
            #F46BEA 100%) border-box;
    text-align: center;
    margin-bottom: clamp(1.25rem, 0.991rem + 1.1vw, 1.875rem);
}

.sale-lp .plan-item:last-of-type {
    margin-bottom: 0;
}

.sale-lp .plan-title {
    position: absolute;
    top: -24px;
    left: 50%;
    width: 50%;
    margin: 0;
    padding-block: clamp(0.625rem, 0.47rem + 0.66vw, 1rem);
    transform: translateX(-50%);
    background: linear-gradient(to right,
            #0BAAE9 0%,
            #969CF4 52%,
            #F36CEA 100%);
    border-radius: 10px;
    color: #fff;
    text-align: center;
    font-size: clamp(1rem, 0.85rem + 0.6vw, 1.35rem);
    font-weight: 700;
    line-height: 1.25;
}

.sale-lp .plan-item>p:not(.plan-title) {
    margin: 0;
    color: #333;
    font-size: clamp(0.85rem, 0.75rem + 0.3vw, 1rem);
    line-height: 1.7;
    font-weight: bold;
}

.sale-lp .plan-item small {
    display: block;

    margin-top: 6px;

    color: #555;
    font-size: clamp(0.65rem, 0.6rem + 0.15vw, 0.75rem);
    line-height: 1.55;
}


/* ========================================
   料金表
======================================== */

.sale-lp .price {
    padding: 0 8% 55px;
}

.sale-lp .price>h3 {
    margin: 0 -9% 52px;
    padding: 13px 20px;

    background: linear-gradient(100deg,
            #F18CE9 0%,
            #A79CF1 50%,
            #55BCE6 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.25rem, 1rem + 0.8vw, 1.6rem);
    font-weight: 700;
    line-height: 1.3;

    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}


/* 料金表だけ少し高さを抑える */
.sale-lp .price .plan-item {
    padding-top: 48px;
    padding-bottom: 18px;
}


/* 金額 */
.sale-lp .plan-content {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 3px;

    margin-top: 2px;
}

.sale-lp .plan-content>p {
    margin: 0;

    background: linear-gradient(to right,
            #168FE7,
            #713BE8,
            #F015DD);

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;

    font-size: clamp(2rem, 1.6rem + 1.5vw, 3.1rem);
    font-weight: 700;
    line-height: 1;
}


/* 税込・円 */
.sale-lp .plan-content .en {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 4px;
}

.sale-lp .plan-content .en p {
    margin: 0;
}

.sale-lp .plan-content .en p:first-child {
    color: #F000D8;
    font-size: 0.55rem;
    line-height: 1;
    margin-bottom: 4px;
}

.sale-lp .plan-content .en p:last-child {
    margin-top: 1px;

    color: #F000D8;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}


/* サポート期間 */
.sale-lp .price .plan-item:last-child>p:last-child {
    font-size: 1rem;
    font-weight: 700;
}


/* ========================================
   教材・サポート内容
======================================== */

.sale-lp .text {
    padding: 0 8% 55px;
}

.sale-lp .text>h3 {
    margin: 0 -9% 50px;
    padding: 13px 20px;

    background: linear-gradient(to right,
            #55BCE6 0%,
            #A69CF0 50%,
            #F18CE9 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.2rem, 1rem + 0.7vw, 1.55rem);
    font-weight: 700;
    line-height: 1.3;

    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}


/* サポート内容だけ高さを確保 */
.sale-lp .text .plan-item:nth-child(3) {
    padding-top: 42px;
    padding-bottom: 28px;
}

.sale-lp .text .plan-item:nth-child(3)>p {
    margin-bottom: 10px;
}

.sale-lp .text .plan-item:nth-child(3) small:first-of-type {
    margin-top: 14px;
}


/* ========================================
   継続をご希望の場合のみ
======================================== */

.sale-lp .continue {
    padding: 0 8% 65px;
}

.sale-lp .continue>h3 {
    margin: 0 -9% 50px;
    padding: 13px 20px;

    background: linear-gradient(to right,
            #F18CE9 0%,
            #A79CF1 50%,
            #55BCE6 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.15rem, 0.95rem + 0.7vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;

    box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}

.sale-lp .continue .plan-item:nth-child(4) {
    padding-top: 42px;
    padding-bottom: 26px;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {

    .sale-lp .price,
    .sale-lp .text,
    .sale-lp .continue {
        padding-left: 7%;
        padding-right: 7%;
    }

    .sale-lp .plan-wrapper {
        gap: 26px;
    }

    .sale-lp .plan-item {
        padding: 26px 12px 16px;

        border-width: 2px;
        border-radius: 8px;
    }
	
	.sale-lp .price .plan-item{
		padding-top:26px;
	}

    .sale-lp .plan-title {
        top: -20px;
        padding: 7px 10px;
        border-radius: 7px;
        font-size: 0.95rem;
    }

    .sale-lp .plan-item>p:not(.plan-title) {
        font-size: 0.75rem;
        line-height: 1.6;
    }

    .sale-lp .plan-item small {
        font-size: 0.58rem;
        line-height: 1.5;
    }


    /* 各セクション見出し */
    .sale-lp .price>h3,
    .sale-lp .text>h3,
    .sale-lp .continue>h3 {
        margin-left: -8%;
        margin-right: -8%;
        margin-bottom: 42px;

        padding: 11px 12px;

        font-size: 1rem;
    }


    /* 金額 */
    .sale-lp .plan-content>p {
        font-size: clamp(1.9rem, 9vw, 2.6rem);
    }

    .sale-lp .plan-content .en p:first-child {
        font-size: 0.48rem;
    }


    /* サポート内容 */
    .sale-lp .text .plan-item:nth-child(3),
    .sale-lp .continue .plan-item:nth-child(4) {
        padding-top: 36px;
        padding-bottom: 20px;
    }

    .sale-lp .text .plan-item:nth-child(3)>p {
        margin-bottom: 8px;
    }
}

/* ========================================
   FAQ
======================================== */

.sale-lp .faq {
    padding: 0 7% clamp(60px, 8vw, 100px);
    background: #fff;
}

/* 見出し */
.sale-lp .faq>h3 {
    margin: 0 -8% clamp(45px, 6vw, 70px);
    padding: 16px 20px;

    background: linear-gradient(100deg,
            #55BFE8 0%,
            #B6A2F1 55%,
            #F58BE8 100%);

    color: #fff;
    text-align: center;
    font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem);
    font-weight: 700;
    line-height: 1.3;

    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

/* FAQ全体 */
.sale-lp .faq-wrapper {
    max-width: 1000px;
    margin: 0 auto;
}

/* Q/A共通 */
.sale-lp .faq-item {
    display: grid;
    grid-template-columns: 85px 1fr;
    align-items: center;
    column-gap: 24px;
}

/* Q */
.sale-lp .faq-item.question {
    margin-top: 0;
    margin-bottom: 8px;
}

/* 2個目以降のQ */
.sale-lp .faq-item.answer+.faq-item.question {
    margin-top: 55px;
}

/* A */
.sale-lp .faq-item.answer {
    margin-bottom: 0;
}

/* Q/A画像 */
.sale-lp .faq-item>img {
    display: block;
    width: 72px;
    height: auto;
    margin: 0 auto;
}

/* テキスト共通 */
.sale-lp .faq-item>p {
    margin: 0;
    color: #333;
}

/* 質問文 */
.sale-lp .faq-item.question>p {
    font-size: clamp(1.125rem, 0.9rem + 0.7vw, 1.5rem);
    font-weight: 700;
    line-height: 1.5;
}

/* 回答文 */
.sale-lp .faq-item.answer>p {
    font-size: clamp(0.8rem, 0.72rem + 0.25vw, 0.95rem);
    font-weight: 500;
    line-height: 1.75;
}

@media screen and (max-width: 767px) {

    .sale-lp .faq {
        padding: 0 8% 60px;
    }

    /* 見出し */
    .sale-lp .faq>h3 {
        margin: 0 -10% 35px;
        padding: 13px 15px;
        font-size: 1.25rem;
    }

    /* Q/A */
    .sale-lp .faq-item {
        grid-template-columns: 58px 1fr;
        column-gap: 14px;
    }

    /* アイコン */
    .sale-lp .faq-item>img {
        width: 54px;
    }

    /* 質問 */
    .sale-lp .faq-item.question>p {
        font-size: 0.95rem;
        line-height: 1.45;
    }

    /* 回答 */
    .sale-lp .faq-item.answer>p {
        font-size: 0.75rem;
        line-height: 1.7;
    }

    /* QとAの間 */
    .sale-lp .faq-item.question {
        margin-bottom: 4px;
    }

    /* 次の質問までの間隔 */
    .sale-lp .faq-item.answer+.faq-item.question {
        margin-top: 34px;
    }
}

/* ========================================
CTA2
======================================== */

.sale-lp .cta2 {
    position: relative;
    overflow: hidden;
    padding: 30px 0 20px;

    background: linear-gradient(100deg,
            #c8edf8 0%,
            #d7dcf8 48%,
            #f9d8f3 100%);
}


/* 教室名 */
.sale-lp .cta2>h3 {
    width: fit-content;
    margin: 0 auto 25px;
    padding: 10px 70px;

    border: 3px solid transparent;

    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(to right,
            #ff5ccf,
            #4dc7f5) border-box;

    color: #333;
    font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}


/* 「洋裁メイキング コーチング」の画像 */
.sale-lp .cta2>img {
    display: block;
    width: min(62%, 650px);
    height: auto;

    margin: 0 auto 30px;
}


/* ========================================
   CTAボタンエリア
======================================== */

.sale-lp .cta2 .cta-btn {
    position: relative;
    width: 100%;
    padding: clamp(1.875rem, 1.357rem + 2.21vw, 3.125rem) 20% 40px;
    background: #fff;
}


/* 「参加して製図教材をGET!」 */
.sale-lp .cta2 .cta-btn-title {
    position: absolute;
    top: -2.5%;
    text-align: center;
    font-size: clamp(1.5rem, 1.293rem + 0.88vw, 2rem);
    font-weight: 700;
    line-height: 1.3;
}


/* ========================================
   各プラン共通
======================================== */

.sale-lp .cta2 .cta-btn1,
.sale-lp .cta2 .cta-btn2,
.sale-lp .cta2 .cta-btn3 {
    margin-bottom: 38px;
}

.sale-lp .cta2 .cta-btn3 {
    margin-bottom: 0;
}


/* プラン説明 */
.sale-lp .cta2 .cta-btn1>p,
.sale-lp .cta2 .cta-btn2>p,
.sale-lp .cta2 .cta-btn3>p {
    margin: 0 0 12px;

    color: #333;
    font-size: clamp(1.25rem, 1rem + 0.8vw, 1.7rem);
    font-weight: 700;
    line-height: 1.4;
}


/* プラン名 */
.sale-lp .cta2 .cta-btn1 p span {
    color: #ff0f7d;
}

.sale-lp .cta2 .cta-btn2 p span {
    color: #43a8e7;
}

.sale-lp .cta2 .cta-btn3 p span {
    color: #9489F8;
}


/* CTAリンク */
.sale-lp .cta2 .cta-btn1 a,
.sale-lp .cta2 .cta-btn2 a,
.sale-lp .cta2 .cta-btn3 a {
    display: block;
}


/* CTA画像 */
.sale-lp .cta2 .cta-btn1 a img,
.sale-lp .cta2 .cta-btn2 a img,
.sale-lp .cta2 .cta-btn3 a img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    filter: drop-shadow(0 5px 5px rgba(0, 0, 0, 0.2));
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {

    .sale-lp .cta2 {
        padding: 25px 0 20px;
    }


    /* 教室名 */
    .sale-lp .cta2>h3 {
        margin-bottom: 18px;
        padding: 8px 35px;

        font-size: 1.25rem;
    }


    /* メインタイトル画像 */
    .sale-lp .cta2>img {
        width: 78%;
        margin-bottom: 25px;
    }


    /* CTAエリア */
    .sale-lp .cta2 .cta-btn {
        padding: 60px 10% 40px;
    }


    /* 「参加して製図教材をGET!」 */
    .sale-lp .cta2 .cta-btn-title {
        font-size: 1.15rem;
    }


    /* 各プラン */
    .sale-lp .cta2 .cta-btn1,
    .sale-lp .cta2 .cta-btn2,
    .sale-lp .cta2 .cta-btn3 {
        margin-bottom: 28px;
    }

    .sale-lp .cta2 .cta-btn3 {
        margin-bottom: 0;
    }


    /* プラン説明 */
    .sale-lp .cta2 .cta-btn1>p,
    .sale-lp .cta2 .cta-btn2>p,
    .sale-lp .cta2 .cta-btn3>p {
        margin-bottom: 10px;

        font-size: clamp(1rem,
                4.4vw,
                1.25rem);

        line-height: 1.4;
    }


    /* CTAボタン */
    .sale-lp .cta2 .cta-btn1 a img,
    .sale-lp .cta2 .cta-btn2 a img,
    .sale-lp .cta2 .cta-btn3 a img {
        width: 100%;
        height: auto;
    }
}

/* フッター */

.sale-lp footer {
    background: linear-gradient(100deg,
            #c8edf8 0%,
            #d7dcf8 48%,
            #f9d8f3 100%);
    padding-block: 20px;
    text-align: center;
}

.sale-lp footer .info {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    margin-bottom: 8px;
}

.sale-lp footer .info a {
    border-right: 1px solid #BFBFBF;
    display: inline-block;
    padding-inline: 20px;
    color: #242424;
    font-size: 14px;
}

.sale-lp footer .info a:last-of-type {
    border-right: none;
}