/* Base */
img{
    width: 100%;
}
@media screen and (max-width: 768px){
    .pc-only{
        display: none;
    }
}
.sp-only{
    display: none;
}
@media screen and (max-width: 768px){
    .sp-only{
        display: block;
    }
}
html{
    scroll-behavior: smooth;
}
body{
    font-family: "Zen Old Mincho", serif;
}

/* FV */
.fv{
    background-color: #2151A3;
    background-image: url(../images/bg_fv_02_sp.webp);
    background-size: contain;
    background-position: top;
    background-repeat: no-repeat;
    padding-bottom: 11.47vw;
}
@media screen and (min-width: 769px){
    .fv{
        background-image: none;
        background-color: #F4F1F1;
        padding-bottom: 62px;
    }
}
.heading{
    color: #fff;
    background-color: #2151A3;
    text-align: center;
    font-size: 8vw;
    padding: 2.13vw;
    letter-spacing: 0.1em;
}
@media screen and (min-width: 769px){
    .heading{
        font-size: 28px;
        padding: 15px;
    }
}
.heading span{
    font-size: 0.8em;
}
.main-copy{
    color: #65136B;
    font-size: 13.9vw;
    font-weight: 700;
    text-align: center;
    margin-top: 4.33vw;
    margin-bottom: 5.5vw;
    line-height: 0.95em;
}
@media screen and (min-width: 769px){
    .main-copy{
        font-size: 52px;
    }
}
.main-copy__small{
    font-size: 0.8em;
    position: relative;
}
@media screen and (min-width: 769px){
    .main-copy__small{
        font-size: 1em;
        padding-left: 18px;
    }
}
.main-copy__small::before{
    content: "";
    background-image: url(../images/img_fv-deco_01_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17.6vw;
    height: 19.73vw;
    position: absolute;
    left: -3.5vw;
    top: -1vw;
}
@media screen and (min-width: 769px){
    .main-copy__small::before{
        width: 87px;
        height: 97px;
        left: 10px;
        top: -12px;
    }
}

.before-after__wrapper{
    display: flex;
    gap: 2.13vw;
    justify-content: center;
    position: relative;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .before-after__wrapper{
        gap: 20px;
    }
}
.before-after__wrapper::before{
    content: "";
    background-image: url(../images/icon_arrow_01_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 25vw;
    height: 17.6vw;
    position: absolute;
    left: 3vw;
    right: 0;
    margin: 0 auto;
    bottom: 5vw;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .before-after__wrapper::before{
        width: 160px;
        height: 120px;
        bottom: 40px;
    }
}
.before-after__container{
    position: relative;
    width: 44.88vw;
}
@media screen and (min-width: 769px){
    .before-after__container{
        width: 300px;
    }
}
.before-after__text{
    position: absolute;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4.8vw;
    font-weight: 500;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 1vw;
    text-align: center;
    letter-spacing: 0.05em;
}
@media screen and (min-width: 769px){
    .before-after__text{
        font-size: 26px;
    }
}
.before-text{
    color: #807D7D;
}
.after-text{
    color: #fff;
}

.fv-point__wrapper{
    display: flex;
    gap: 2.47vw;
    justify-content: center;
    margin-top: 2.133vw;
}
@media screen and (min-width: 769px){
    .fv-point__wrapper{
        gap: 40px;
        margin-top: 15px;
        position: relative;
        z-index: 4;
    }
}

.fv-point__img{
    width: 29.6vw;
}
@media screen and (min-width: 769px){
    .fv-point__img{
        width: 138px;
    }
}
.fv-middle__wrapper{
    color: #fff;
    font-size: 8.53vw;
    text-align: center;
    margin-top: 2vw;
}
@media screen and (min-width: 769px){
    .fv-middle__wrapper{
        font-size: 36px;
        margin-top: 24px;
        position: relative;
        z-index: 3;
    }
}
@media screen and (min-width: 769px){
    .fv-middle__copy{
        display: inline-block;
    }
}
.fv-middle__copy span{
    font-size: 0.8em;
}
@media screen and (min-width: 769px){
    .fv-middle__copy span{
        font-size: 26px;
    }
}
.fv-middle__copy--blue{
    font-size: 6.4vw;
    background-image: url(../images/bg_fv-text_01_pc.webp);
    background-size: cover;
    display: inline-block;
    background-position: right;
    padding: 1.6vw;
    margin: 2.67vw 0 0.5vw 0;
}
@media screen and (min-width: 769px){
    .fv-middle__copy--blue{
        display: inline-block;
        font-size: 26px;
        padding: 8px;
        margin: 0;
    }
}
.fv-middle__logo{
    font-size: 12.267vw;
    position: relative;
}
@media screen and (min-width: 769px){
    .fv-middle__logo{
        font-size: 36px;
        margin-top: 10px;
    }
}
.fv-middle__logo--small{
    font-size: 0.8em;
}
@media screen and (min-width: 769px){
    .fv-middle__logo--small{
        font-size: 26px;
    }
}
.fv-middle__logo::after{
    content: "";
    background-image: url(../images/img_line_01_pc.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 78.13vw;
    height: 0.2vw;
    position: absolute;
    left: 0vw;
    right: 0;
    margin: 0 auto;
    z-index: 3;
    bottom: -1vw;
}
@media screen and (min-width: 769px){
    .fv-middle__logo::after{
        width: 209px;
        height: 1px;
        bottom: -10px;
    }
}

/* CTA */
.cta{
    background-color: #2151A3;
    padding: 6.4vw 0 10.13vw 0;
    z-index: 10;
}
@media screen and (min-width: 769px){
    .cta{
        padding: 75px 0 75px 0;
    }
}
.cta__wrapper{
    margin-top: 8.33vw;
    text-align: center;
}
@media screen and (min-width: 769px){
    .cta__wrapper{
        margin-top: 0;
    }
}
@media screen and (min-width: 769px){
    .fv .cta__wrapper{
        position: relative;
        z-index: 1;
        margin-top: 30px;
    }
    .fv .cta__wrapper::before{
        content: "";
        background-image: url(../images/bg_fv_01_pc.webp);
        background-repeat: no-repeat;
        background-size: 100% 100%;
        background-position: center;
        width: 100%;
        height: 1058px;
        position: absolute;
        left: 0vw;
        right: 0;
        margin: 0 auto;
        bottom: -62px;
        z-index: -3;
    }
}
.cta__text-wrapper{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cta__copy{
    font-size: 4.8vw;
    color: #fff;
    text-align: center;
    line-height: 1.3em;
    position: relative;
    display: inline-block;
}
.fv-cta__copy{
    font-size: 4.8vw;
    color: #fff;
    text-align: center;
    line-height: 1.3em;
    position: relative;
    display: inline-block;
}
@media screen and (min-width: 769px){
    .fv-cta__copy{
        font-size: 24px;
    }
    .cta__copy{
        font-size: 38px;
    }
}
.cta__copy::before{
    content: "";
    background-image: url(../images/img_fv-deco_04_sp.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 7.2vw;
    height: 13.9vw;
    position: absolute;
    left: -7.2vw;
    bottom: -2vw;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .cta__copy::before{
        width: 66.56px;
        height: 88.93px;
        left: -66.56px;
        bottom: 0;
        background-image: url(../images/img_cta-deco_01_pc.webp);
    }
}
.fv-cta__copy::before{
    content: "";
    background-image: url(../images/img_fv-deco_04_sp.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 7.2vw;
    height: 13.9vw;
    position: absolute;
    left: -7.2vw;
    bottom: -2vw;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .fv-cta__copy::before{
        width: 13px;
        height: 37px;
        left: -15px;
        bottom: -5px;
        background-image: url(../images/img_fv-deco_02_pc.webp);
    }
}
.cta__copy::after{
    content: "";
    background-image: url(../images/img_fv-deco_05_sp.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 7.2vw;
    height: 13.9vw;
    position: absolute;
    right: -7.2vw;
    bottom: -2vw;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .cta__copy::after{
        width: 66.56px;
        height: 88.93px;
        right: -66.56px;
        bottom: 0;
        background-image: url(../images/img_cta-deco_02_pc.webp);
    }
}
.fv-cta__copy::after{
    content: "";
    background-image: url(../images/img_fv-deco_05_sp.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 7.2vw;
    height: 13.9vw;
    position: absolute;
    right: -7.2vw;
    bottom: -2vw;
    z-index: 3;
}
@media screen and (min-width: 769px){
    .fv-cta__copy::after{
        width: 13px;
        height: 37px;
        right: -15px;
        bottom: -5px;
        background-image: url(../images/img_fv-deco_03_pc.webp);
    }
}
.cta__orange-text{
    font-size: 4.9vw;
    color: #fff;
    background-color: #F66835;
    letter-spacing: 0.06em;
    line-height: 1.5;
    display: inline-block;
}
@media screen and (min-width: 769px){
    .cta__orange-text{
        font-size: 32.87px;
        margin-top: 36px;
    }
}
.cta__bottom-text{
    color: #fff;
    font-size: 4.9vw;
}
@media screen and (min-width: 769px){
    .cta__bottom-text{
        font-size: 32.87px;
        line-height: 1.5;
    }
}
.cta__container{
    background-color: #fff;
    width: 94.2vw;
    margin: 4.2vw auto 0 auto;
    padding: 2.64vw 0 2.64vw 0;
}
@media screen and (min-width: 769px){
    .cta__container{
        width: 559px;
        padding: 15px 0 15px 0;
        margin: 30px auto 40px auto;
    }
}
.cta__container-title{
    font-size: 6.86vw;
    color: #111B56;
}
@media screen and (min-width: 769px){
    .cta__container-title{
        font-size: 32px;
    }
}
.cta__container-lead{
    color: #111B56;
    font-size: 4.22vw;
}
@media screen and (min-width: 769px){
    .cta__container-lead{
        font-size: 19px;
    }
}
.cta__price{
    width: 89.7vw;
    margin: 0 auto;
}
@media screen and (min-width: 769px){
    .cta__price{
        width: 340px;
    }
}
.cta__container-note{
    font-size: 5.28vw;
    color: #111B56;
    line-height: 1.5;
}
@media screen and (min-width: 769px){
    .cta__container-note{
        font-size: 24px;
    }
}
.cta__inner{
    display: flex;
    flex-direction: column;
}
@media screen and (min-width: 769px){
    .cta__inner{
        flex-direction: row;
        gap: 32px;
        max-width: 632px;
        margin: 0 auto;
        align-items: flex-end;
    }
}
.cta__line{
    width: 88.9vw;
    margin: 0 auto;
}
@media screen and (min-width: 769px){
    .cta__line{
        width: 337px;
        margin-top: 0;
    }
}
.cta__phone{
    width: 88.9vw;
    margin: 0 auto;
}
@media screen and (min-width: 769px){
    .cta__phone{
        width: 337px;
        margin-top: 0;
    }
}
.cta__contact{
    width: 88.9vw;
    margin: 0 auto;
}
@media screen and (min-width: 769px){
    .cta__contact{
        position: fixed;
        right: 0;
        width: 90px;
        top: 50%;
        z-index: 100 !important;
    }
}
.cta__link{
    display: inline-block;
    overflow: hidden;
    transition: background-color .3s ease;
    position: relative;
}
.cta__link::before {
    animation: shineLoop 2s infinite;
    content: "";
    position: absolute;
    bottom: 0;
    left: -100%;
    width: 60%;
    height: 87%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 30%,
        rgba(255,255,255,0.5) 50%,
        rgba(255,255,255,0) 70%
    );
    transform: skewX(-20deg);
    transition: left .75s ease-in-out;
}
@media screen and (min-width: 769px){
    .cta__link::before{
        width: 78%;
        height: 88%;
    }
}
@media screen and (min-width: 769px){
    .cta__contact .cta__link::before{
        display: none;
    }
}


@keyframes shineLoop {
    0% { left: -100%; }
    100% { left: 120%; }
}

/* comicセクション */
.comic{
    width: 100%;
    padding-top: 1.33vw;
    text-align: center;
}
@media screen and (min-width: 769px){
    .comic{
        padding-top: 22px;
        background-image: url(../images/bg_comic_01_pc.webp);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
        position: relative;
        z-index: 0;
    }
}
@media screen and (min-width: 769px){
    .comic img{
        width: 489px;
    }
}
.comic__text{
    font-size: 6.4vw;
    color: #65136B;
    margin-top: 3vw;
    font-weight: 700;
    line-height: 1.5em;
    position: relative;
    letter-spacing: -0.008em;
    background-image: url(../images/bg_comic_02_sp.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
    padding-bottom: 4.267vw;
}
@media screen and (min-width: 769px){
    .comic__text{
        font-size: 32px;
        margin:  0 auto;
        margin-top: 37px;
        padding-bottom: 90px;
        width: fit-content;
        background: none;
    }
}
.comic__text::before{
    content: "";
    background-image: url(../images/img_purple-line_01_pc.webp);
    position: absolute;
    width: 6.33vw;
    height: 17.26vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    left: 3vw;
    top: 5%;
}
@media screen and (min-width: 769px){
    .comic__text::before{
        width: 36px;
        height: 98.19px;
        left: -51px;
        top: 1%;
    }
}
.comic__text::after{
    content: "";
    background-image: url(../images/img_purple-line_02_pc.webp);
    position: absolute;
    width: 6.33vw;
    height: 17.26vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    right: 3vw;
    top: 5%;
}
@media screen and (min-width: 769px){
    .comic__text::after{
        width: 36px;
        height: 98.19px;
        right: -51px;
        top: 1%;
    }
}
/* concernセクション */
.concern{
    background-image: url(../images/bg_concern_02_sp.webp);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    padding-top: 11.73vw;
    margin-top: -4vw;
    z-index: -1;
}
@media screen and (min-width: 769px){
    .concern{
        background-image: url(../images/bg_concern_01_pc.webp);
        padding-top: 150px;
        margin-top: -85px;
    }
}
.concern__title{
    color: #123301;
    font-size: 5.87vw;
    font-weight: 700;
    background-color: #FDE585;
    display: inline-block;
    padding: 1.3vw;
}
@media screen and (min-width: 769px){
    .concern__title{
        font-size: 2.96vw;
        padding: 1.17vw;
    }
}
@media screen and (min-width: 1200px){
    .concern__title{
        font-size: 35.5px;
        padding: 14px;
    }
}
@media screen and (min-width: 769px){
    .concern__inner{
        display: flex;
        max-width: 78.33vw;
        margin: 0 auto;
        gap: 2.5vw;
    }
}
@media screen and (min-width: 1200px){
    .concern__inner{
        max-width: 940px;
        gap: 30px;
    }
}
.concern__container{
    display: flex;
    flex-direction: row;
    max-width: 87.47vw;
    margin: 5.1vw auto 6.4vw auto;
    align-items: center;
    text-align: left;
    gap: 3%;
}
@media screen and (min-width: 769px){
    .concern__container{
        flex-direction: column;
        max-width: 23.58vw;
        gap: 0;
        margin: 2.67vw auto 12.42vw auto;
    }
}
@media screen and (min-width: 1200px){
    .concern__container{
        flex-direction: column;
        max-width: 283px;
        gap: 0;
        margin: 32px auto 149px auto;
    }
}
.concern__container:nth-child(even){
    flex-direction: row-reverse;
}
@media screen and (min-width: 769px){
    .concern__container:nth-child(even){
        flex-direction: column;
    }
}
.concern__img{
    width: 32.27vw;
}
@media screen and (min-width: 769px){
    .concern__img{
        width: 17.25vw;
    }
}
@media screen and (min-width: 1200px){
    .concern__img{
        width: 207px;
    }
}
.concern__sub-heading{
    color: #fff;
    font-size: 4.8vw;
    background-image: url(../images/img_brackets_01_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 4vw;
    padding-top: 1vw;
    padding-bottom: 1vw;
}
@media screen and (min-width: 769px){
    .concern__sub-heading{
        font-size: 2.67vw;
        padding-left: 0;
        text-align: center;
        padding-top: 0.4vw;
        padding-bottom: 0.4vw;
        margin-top: 1.42vw;
    }
}
@media screen and (min-width: 1200px){
    .concern__sub-heading{
        font-size: 32px;
        padding-top: 5px;
        padding-bottom: 5px;
        margin-top: 17px;
    }
}
.concern__text{
    font-size: 3.2vw;
    margin-top: 1.33vw;
    line-height: 1.7em;
    color: #fff;
}
@media screen and (min-width: 769px){
    .concern__text{
        font-size: 1.67vw;
        margin-top: 2.56vw;
        letter-spacing: 0.09em;
    }
}
@media screen and (min-width: 1200px){
    .concern__text{
        font-size: 20px;
        margin-top: 31px;
        letter-spacing: 0.07em;
    }
}
.concern__text span{
    color: #FDE585;
}
.concern__bottom-text{
    color: #fff;
    font-size: 5.42vw;
    font-weight: 700;
    text-align: left;
    width: 75.2vw;
    margin: 0 auto;
    line-height: 1.5em;
    padding-bottom: 18.67vw;
}
@media screen and (min-width: 769px){
    .concern__bottom-text{
        display: none;
    }
}
/* pieセクション */
.pie{
    background-image: url(../images/bg_pie_02_sp.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
    padding-bottom: 4vw;
}
@media screen and (min-width: 769px){
    .pie{
        padding-bottom: 77px;
        background-image: url(../images/bg_pie_01_pc.webp);
        padding-top: 152px;
        margin-top: -125px;
    }
}
.navy-heading{
    font-size: 5.33vw;
    background-image: url(../images/bg_navy-heading_02_sp.webp);
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 2.2vw;
    padding-bottom: 6.6vw;
    background-position: center;
    color: #fff;
}
@media screen and (min-width: 769px){
    .navy-heading{
        font-size: 2.5vw;
        background-image: url(../images/bg_navy-heading_01_pc.webp);
        width: 75.17vw;
        padding-top: 2.67vw;
        padding-bottom: 4vw;
        margin:  0 auto;
    }
}
@media screen and (min-width: 1200px){
    .navy-heading{
        font-size: 30px;
        background-image: url(../images/bg_navy-heading_01_pc.webp);
        width: 902px;
        padding-top: 32px;
        padding-bottom: 48px;
        margin:  0 auto;
    }
}
.navy-heading span{
    font-size: 1.6em;
}
@media screen and (min-width: 1200px){
    .navy-heading span{
        font-size: 40px;
    }
}
.pie__img{
    width: 71.73vw;
    margin:  0 auto;
}
@media screen and (min-width: 769px){
    .pie__img{
        width: 450px;
        margin-top: 31px;
    }
}

/* reasonセクション */
.reason{
    text-align: center;
    background-image: url(../images/bg_reason_02_sp.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 21.33vw;
    z-index: 3;
    position: relative;
}
@media screen and (min-width: 769px){
    .reason{
        background-image: url(../images/bg_reason_01_pc.webp);
        padding-bottom: 140px;
        padding-top: 64px;
        background-position: bottom;
    }
}
.reason__list{
    width: 78.4vw;
    margin:  0 auto;
    margin-top: 5.33vw;
    display: flex;
    flex-direction: column;
    gap: 2.67vw;
}
@media screen and (min-width: 769px){
    .reason__list{
        width: 468px;
        gap: 20px;
        margin-top: 33px;
    }
}

/* leave-itセクション */
.leave-it{
    margin-top: -15vw;
    z-index: 0;
    position: relative;
    background-image: url(../images/bg_reason_04_sp.webp);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 21.33vw 0 10vw 0;
}
@media screen and (min-width: 769px){
    .leave-it{
        background-image: url(../images/bg_reason_03_pc.webp);
        padding: 180px 0 80px 0;
        margin-top: -154px;
    }
}
.leave-it__text{
    font-size: 8.53vw;
    font-weight: 700;
    color: #65136B;
    line-height: 1.7;
    text-align: center;
    position: relative;
}
@media screen and (min-width: 769px){
    .leave-it__text{
        font-size: 42px;
    }
}
.leave-it span{
    padding-left: 1.5vw;
}
.leave-it__text::before{
    content: "";
    background-image: url(../images/img_fv-deco_01_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17.7vw;
    height: 19.75vw;
    position: absolute;
    left: 1vw;
    bottom: -3vw;
}
@media screen and (min-width: 769px){
    .leave-it__text::before{
        width: 111px;
        height: 116px;
        left: calc(50% - 260px);
        bottom: -22px;
    }
}

/* pointセクション */
.point{
    background: linear-gradient(
    to bottom,
    #D9E8FA 0%,
    #ffffff 100%
    );
    text-align: center;
    padding: 10.4vw 0 14.13vw 0;
}
@media screen and (min-width: 769px){
    .point{
        padding: 85px 0;
    }
}
.point__title{
    color: #353535;
    font-size: 6.4vw;
    font-weight: 700;
    padding: 2.66vw 5.33vw;
    background-image: url(../images/bg_point-title_01_sp.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 769px){
    .point__title{
        font-size: 3.83vw;
        padding: 1.5vw 2.92vw;
        letter-spacing: 0.09em;
    }
}
@media screen and (min-width: 1200px){
    .point__title{
        font-size: 46px;
        padding: 18px 35px;
        letter-spacing: 0.09em;
    }
}
.point__title span{
    font-size: 0.8em;
}
@media screen and (min-width: 769px){
    .point__title span{
        font-size: 0.9em;
    }
}
.point__sub-title{
    font-size: 6.75vw;
    color: #353535;
    font-weight: 700;
    margin: 6.4vw 0 8vw 0;
    position: relative;
}
@media screen and (min-width: 769px){
    .point__sub-title{
        font-size: 3.94vw;
        margin: 3.5vw 0 8vw 0;
    }
}
@media screen and (min-width: 1200px){
    .point__sub-title{
        font-size: 47.29px;
        margin: 42px 0 96px 0;
    }
}
.point__sub-title::before{
    content: "";
    background-image: url(../images/img_line_02_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 57.87vw;
    height: 2.48vw;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -5vw;
}
@media screen and (min-width: 769px){
    .point__sub-title::before{
        width: 34vw;
        height: 1.42vw;
        left: 1.67vw;
        bottom: -2.1vw;
    }
}
@media screen and (min-width: 1200px){
    .point__sub-title::before{
        width: 408px;
        height: 17px;
        left: 20px;
        bottom: -25px;
    }
}
.point__list{
    width: 80vw;
    display: flex;
    flex-direction: column;
    margin:  0 auto;
    gap: 2.67vw;
}
@media screen and (min-width: 769px){
    .point__list{
        flex-direction: row;
        gap: 26px;
        width: 98.5vw;
    }
}
@media screen and (min-width: 1200px){
    .point__list{
        width: 1182px;
    }
}
.point__item{
    position: relative;
}
@media screen and (min-width: 769px){
    .point__item{
        width: 376px;
    }
}
.point__text{
    position:  absolute;
    font-size: 5.33vw;
    bottom: 8.5vw;
    text-align: left;
    line-height: 1.5em;
    color: #353535;
    padding-left: 6vw;
}
@media screen and (min-width: 769px){
    .point__text{
        font-size: 2.21vw;
        padding-left: 0;
        left: 0;
        right: 0;
        margin:  0 auto;
        width: fit-content;
        bottom: 3.75vw;
    }
}
@media screen and (min-width: 1200px){
    .point__text{
        font-size: 26.5px;
        bottom: 45px;
    }
}
.point__text span{
    color: #885F08;
}
/* stepセクション */
.step{
    background-color: #FFF7EA;
    padding: 5.867vw 0 17.867vw 0;
}
@media screen and (min-width: 769px){
    .step{
        padding: 7.92vw 0 7.92vw 0;
    }
}
@media screen and (min-width: 1200px){
    .step{
        padding: 95px 0 95px 0;
    }
}
.step__list{
    display: flex;
    flex-direction: column;
    gap: 5.33vw;
    margin-top: 9.6vw;
    justify-content: center;
    align-items: center;
}
@media screen and (min-width: 769px){
    .step__list{
        margin-top: 85px;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 33px 45px;
    }
}
.step__item{
    background-color: #fff;
    border-radius: 9.85px;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
    max-width: 88vw;
    padding: 5.33vw 4.267vw;
}
@media screen and (min-width: 769px){
    .step__item{
        max-width: 330px;
        padding: 17px 16px 12px 16px;
        min-height: 333px;
    }
}
.step-item__top{
    display: flex;
    align-items: center;
    gap: 6.4vw;
}
@media screen and (min-width: 769px){
    .step-item__top{
        gap: 23px;
    }
}
.step-number{
    width: 17.14vw;
}
@media screen and (min-width: 769px){
    .step-number{
        width: 64.29px;
    }
}
.step-title{
    font-size: 5.33vw;
    color: #F66835;
    font-weight: 700;
    line-height: 1.5em;
}
@media screen and (min-width: 769px){
    .step-title{
        font-size: 20px;
    }
}
@media screen and (min-width: 769px){
    .step-title .large-font{
        font-size: 24px;
    }
}
.step__img{
    margin-top: 3.47vw;
    margin-bottom: 2.67vw;
}
@media screen and (min-width: 769px){
    .step__img{
        margin-top: 13px;
        margin-bottom: 10px;
    }
}
.step__description{
    font-size: 4.267vw;
    font-family: "Noto Sans JP", sans-serif;
    color: #353535;
    line-height: 1.5em;
    letter-spacing: 0.09em;
}
@media screen and (min-width: 769px){
    .step__description{
        font-size: 16px;
    }
}

/* before-afterセクション */
.before-after{
    padding: 9.33vw 0 10.67vw 0;
    background-image: url(../images/bg_before-after_02_sp.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 769px){
    .before-after{
        background-image: url(../images/bg_before-after_01_pc.webp);
        padding: 88px 0 88px 0;
    }
}
.before-after__inner{
    width: 96.8vw;
    margin:  0 auto;
}
@media screen and (min-width: 769px){
    .before-after__inner{
        background-image: url(../images/bg_before-after_02_pc.webp);
        padding: 61px 5% 96px 5%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
}
@media screen and (min-width: 1200px){
    .before-after__inner{
        max-width: 1340px;
        padding: 61px 0 96px 0;
    }
}
@media screen and (min-width: 769px){
    .before-after__title{
        max-width: 62.25vw;
        margin: 0 auto;
        margin-bottom: 20px;
    }
}
@media screen and (min-width: 1200px){
    .before-after__title{
        max-width: 747px;
    }
}
@media screen and (min-width: 769px){
    .before-after__img{
        max-width: 1077px;
        margin: 0 auto;
    }
}

/* voiceセクション */
.voice{
    text-align: center;
    background-color: #ECF1FF;
    padding-bottom: 13.867vw;
    overflow: visible !important;
}
@media screen and (min-width: 769px){
    .voice{
        padding: 81px 0 104px 0;
    }
}
.voice__title{
    color: #132B67;
    font-size: 6.4vw;
    font-weight: 700;
    background-color: #C7D2E5;
    padding: 5.33vw 0 5.33vw 0;
    letter-spacing: 0.1em;
}
@media screen and (min-width: 769px){
    .voice__title{
        font-size: 4vw;
        padding: 3vw 5.83vw;
        display: inline-block;
    }
}
@media screen and (min-width: 1200px){
    .voice__title{
        font-size: 48px;
        padding: 36px 70px;
    }
}
.voice__container {
    position: relative;
    max-width: 1268px;
    margin: 0 auto;
}
.swiper{
    overflow: hidden;
}
.swiper-pagination {
    position: absolute !important;
    bottom: -30px !important;
    left: 0% !important;
    transform: translateX(-50%);
    width: 100% !important;
}
@media screen and (min-width: 769px){
    .swiper-pagination{
        display: none;
    }
}
.swiper-pagination-bullet{
    background-color: #222 !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 10px !important;
}
.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 30% !important;
    transform: translateY(-50%);
    width: 1.6vw !important;
    height: 2.4vw !important;
    margin-top: -30px;
    z-index: 10;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 100 !important;
    pointer-events: auto !important;
}
.swiper-button-prev::after, .swiper-button-next::after{
    display: none;
}
@media screen and (min-width: 769px){
    .swiper-button-prev, .swiper-button-next{
        display: none !important;
    }
}

/* ★左矢印の画像と位置 */
.swiper-button-prev {
    left: 6vw !important; /* 親要素の左端からの位置 */
    /* トンマナに合わせたブラウン系やオレンジ系のSVG画像がオススメ */
    background-image: url(../images/arrow_01.svg); 
}

/* ★右矢印の画像と位置 */
.swiper-button-next {
    right: 6vw !important; /* 親要素の右端からの位置 */
    background-image: url(../images/arrow_02.svg);
}
.voice__list{
    margin: 0 auto;
    margin-top: 5.6vw;
    align-items: stretch;
    overflow: visible !important;
}
@media screen and (min-width: 769px){
    .voice__list{
        margin-top: 5.46vw;
    }
}
@media screen and (min-width: 1300px){
    .voice__list{
        display: flex;
        flex-direction: row;
        gap: 24px;
        margin-top: 71px;
        max-width: 1268px;
        transform: none !important;
        width: 100% !important;
    }
}
@media screen and (min-width: 1300px){
    .swiper-only{
        display: none !important;
    }
}

.voice__item{
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.1);
    padding: 6.4vw 3.2vw 4.8vw 3.2vw;
    color: #232323;
    height: auto !important;
}
@media screen and (min-width: 769px){
    .voice__item{
        padding: 31px 21px 23px;
        height: auto;
        box-sizing: border-box;
    }
    .voice__item:nth-child(2){
        padding-left: 15px;
        padding-right: 14px;
    }
    .voice__item:nth-child(5){
        padding-left: 15px;
        padding-right: 14px;
    }
}
@media screen and (min-width: 1300px){
    .voice__item{
        width: calc((100% - 48px) / 3) !important;
        max-width: 406px;
        margin: 0 !important; 
    }
}
.voice-item__top{
    display: flex;
    align-items: center;
    border-bottom: 2px dotted #BFD2FF;
    gap: 2.4vw;
    padding-bottom: 1.867vw;
    justify-content: center;
    min-height: 38.4vw;
}
@media screen and (min-width: 769px){
    .voice-item__top{
        gap: 19px;
        padding-bottom: 17px;
        min-height: 180px;
    }
}
.voice__img{
    width: 28.26vw;
}
@media screen and (min-width: 769px){
    .voice__img{
        width: 119px;
    }
}
.voice__heading{
    width: 58vw;
    text-align: left;
}
@media screen and (min-width: 769px){
    .voice__heading{
        width: 246px;
    }
}
.voice-heading{
    font-size: 4.8vw;
    line-height: 1.5em;
    letter-spacing: 0.01em;
}
@media screen and (min-width: 769px){
    .voice-heading{
        font-size: 20px;
        letter-spacing: 0.05em;
        min-height: 114px;
    }
}
.voice__name{
    font-size: 3.733vw;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 2em;
}
@media screen and (min-width: 769px){
    .voice__name{
        font-size: 15.6px;
        margin-top: 14px;
    }
}
.voice__text{
    margin-top: 4.8vw;
    text-align: left;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 6.349vw;
    display: flex;
    flex-direction: column;
    gap: 6.349vw;
    font-size: 4.4vw;
    padding: 0 4vw;
    letter-spacing: .08em;
}
@media screen and (min-width: 769px){
    .voice__text{
        font-size: 18px;
        margin-top: 26px;
        line-height: 27px;
        gap: 27px;
        padding: 0;
    }
}
.lh-24{
    line-height: 5.614vw;
    gap: 6.614vw;
}
@media screen and (min-width: 769px){
    .lh-24{
        line-height: 27px;
        gap: 27px;
    }
}

/* messageセクション */
.message{
    padding: 9.33vw 0 10.67vw 0;
    background-image: url(../images/bg_message_02_sp.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (min-width: 769px){
    .message{
        background-image: none;
        background: linear-gradient(
        to bottom,
        #E0E4EF 0%,
        #90B9FF 100%
        );
        padding: 0;
    }
}
@media screen and (min-width: 769px){
    .message__outer{
        background-image: url(../images/bg_message_01_pc.webp);
        max-width: 739px;
        margin: 0 auto;
        padding: 91px 0 99px 0;
    }
}
.message__title{
    display: flex;
    flex-direction: column;
    gap: 2.13vw;
    z-index: 2;
    position: relative;
}
@media screen and (min-width: 769px){
    .message__title.sp-only{
        display: none;
    }
}
@media screen and (min-width: 769px){
    .message__title{
        display: block;
        margin: 0 auto;
    }
}
.message__title.pc-only{
    display: none;
}
@media screen and (min-width: 769px){
    .message__title.pc-only{
        display: block;
    }
}

.message-title{
    width: fit-content;
    font-size: 6.4vw;
    color: #111B56;
    font-weight: 700;
    padding: 2.13vw 6.93vw;
    background-color: #fff;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 769px){
    .message-title{
        font-size: 24px;
        box-shadow: none;
        background-color: transparent;
        padding: 0;
    }
}
.message__inner{
    background-color: #fff;
    max-width: 90.4vw;
    margin: 0 auto;
    padding: 16vw 4.267vw 6.67vw 4.267vw;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2em;
    margin-top: -10.4vw;
    position: relative;
}
@media screen and (min-width: 769px){
    .message__inner{
        max-width: 529px;
        margin-top: 0;
        padding: 42px 44px;
    }
}
.message__inner::before{
    content: "";
    background-image: url(../images/img_leaves_01_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 55.47vw;
    height: 81.33vw;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.15;
}
@media screen and (min-width: 769px){
    .message__inner::before{
        width: 232px;
        height: 279px;
    }
}
.message__inner::after{
    content: "";
    background-image: url(../images/img_leaves_02_pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
    width: 67.55vw;
    height: 38.4vw;
    position: absolute;
    right: 0;
    bottom: 20vw;
    opacity: 0.12;
}
@media screen and (min-width: 769px){
    .message__inner::after{
        width: 250px;
        height: 141px;
        bottom: -30px;
    }
}
.message__deco{
    position: absolute;
    width: 4.267vw;
    height: 4.267vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../images/img_triangle_01_pc.webp);
}
@media screen and (min-width: 769px){
    .message__deco{
        width: 16px;
        height: 16px;
    }
}
.message__deco--rt{
    right: 0.8vw;
    top: 0.8vw;
    transform: rotate(-90deg);
}
@media screen and (min-width: 769px){
    .message__deco--rt{
        right: 3px;
        top: 3px;
    }
}
.message__deco--rb{
    right: 0.8vw;
    bottom: 0.8vw;
}
@media screen and (min-width: 769px){
    .message__deco--rb{
        right: 3px;
        bottom: 3px;
    }
}
.message__deco--lb{
    left: 0.8vw;
    bottom: 0.8vw;
    transform: rotate(90deg);
}
@media screen and (min-width: 769px){
    .message__deco--lb{
        left: 3px;
        bottom: 3px;
    }
}
.message-text{
    font-size: 4.267vw;
    line-height: 2em;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #232323;
}
@media screen and (min-width: 769px){
    .message-text{
        font-size: 16px;
    }
}
.message-text .letter-space{
    letter-spacing: 0.05em;
}
.message-text .large-font{
    font-size: 1.125em;
}
@media screen and (min-width: 769px){
    .message-text .large-font{
        font-size: 16px;
    }
}

/* faqセクション */
.faq{
    padding: 18.66vw 0 12.267vw 0;
    background-color: #EEF0F9;
    text-align: center;
}
@media screen and (min-width: 769px){
    .faq{
        padding: 77px 0 77px 0;
    }
}
.faq__title{
    color: #111B56;
    font-size: 10.13vw;
    font-weight: 700;
}
@media screen and (min-width: 769px){
    .faq__title{
        font-size: 38px;
    }
}
.faq__list{
    max-width: 90.13vw;
    margin: 0 auto;
    margin-top: 8vw;
}
@media screen and (min-width: 769px){
    .faq__list{
        max-width: 633px;
        margin-top: 30px;
    }
}
.faq__item{
    border: 2px solid #111B56;
}
.faq__question{
    background-color: #111B56;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 2.13vw 2.67vw;
}
@media screen and (min-width: 769px){
    .faq__question{
        padding: 21px 37PX;
    }
}
.faq__heading{
    font-size: 6.4vw;
    width: 12.267vw;
}
@media screen and (min-width: 769px){
    .faq__heading{
        font-size: 24px;
        width: 56px;
        text-align: left;
    }
}
.faq__question .faq__text{
    font-size: 4.8vw;
    line-height: 1.5em;
    text-align: left;
    width: 72vw;
}
@media screen and (min-width: 769px){
    .faq__question .faq__text{
        font-size: 20px;
        width: 510px;
    }
}
.faq__answer{
    padding: 2.67vw 2.67vw 4vw 2.67vw;
    display: flex;
    background-color: #fff;
}
@media screen and (min-width: 769px){
    .faq__answer{
        padding: 19px 37px;
    }
}
.faq__answer .faq__text{
    font-size: 3.73vw;
    line-height: 1.5em;
    color: #111B56;
    font-family: "Noto Sans JP", sans-serif;
    width: 72vw;
    text-align: left;
}
@media screen and (min-width: 769px){
    .faq__answer .faq__text{
        font-size: 18px;
        width: 510px;
    }
}

/* お問い合わせ */
/* フォーム全体のコンテナ */
.contact{
    background-color: #2151A3;
    padding-bottom: 17.68vw;
}
@media screen and (min-width: 769px){
    .contact{
        padding: 0 5% 224px 5%;
        margin-top: -1px;
    }
}
.p-form-container {
    width: 89.18vw;
    margin: 0 auto;
    padding: 2.9vw 0px 9.5vw 0px;
    background-color: #fff;
}
@media screen and (min-width: 769px){
    .p-form-container{
        max-width: 998px;
        padding: 50px 5% 54px 5%;
    }
}

/* ヘッダー部分 */
.p-form-header {
    text-align: center;
    margin-bottom: 10.55vw;
}
@media screen and (min-width: 769px){
    .p-form-header{
        margin-bottom: 56px;
    }
}

.p-form-title {
    font-size: 5.28vw;
    color: #111B56;
    padding-bottom: 2.9vw;
    letter-spacing: 0.06em;
    line-height: 1.5;
    border-bottom: 2px solid #111B56;
}
@media screen and (min-width: 769px){
    .p-form-title{
        font-size: 32px;
        padding-bottom: 28px;
        border-bottom: none;
    }
}

.p-form-subtitle {
    font-size: 6.33vw;
    color: #111B56;
    margin-bottom: 1.58vw;
}
@media screen and (min-width: 769px){
    .p-form-subtitle{
        font-size: 24px;
    }
}
.p-form-subtitle span {
    font-size: 11.35vw;
    font-weight: bold;
}
@media screen and (min-width: 769px){
    .p-form-subtitle span{
        font-size: 43px;
    }
}

/* ステップ表示 */
.p-form-steps {
    display: flex;
    justify-content: center;
    gap: 2.37vw;
}
@media screen and (min-width: 769px){
    .p-form-steps{
        gap: 7px;
    }
}

.p-form-step {
    background-color: #2151A3;
    color: #fff;
    padding: 0 1.32vw 0 1.32vw;
    font-size: 4.22vw;
    border-radius: 1.06vw;
    line-height: 1.5;
}
@media screen and (min-width: 769px){
    .p-form-step{
        font-size: 16px;
        padding: 0 6px;
        border-radius: 4px;
    }
}

/* 入力項目リスト */
.p-form-list {
    margin-bottom: 8.44vw;
    padding-left: 5.28vw;
    padding-right: 5.28vw;
    font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px){
    .p-form-list{
        max-width: 640px;
        padding: 0;
        margin: 0 auto;
    }
}

.p-form-item {
    margin-bottom: 30px;
}

.p-form-label {
    display: block;
    margin-bottom: 12px;
    font-size: 4.22vw;
    display: flex;
    align-items: center;
    gap: 1.32vw;
}
@media screen and (min-width: 769px){
    .p-form-label{
        font-size: 16px;
        gap: 8px;
        margin-bottom: 8px;
    }
}

/* 必須タグ */
.c-tag-required {
    background-color: #fff;
    color: #E18700;
    border: 1px solid #E18700;
    font-size: 2.64vw;
    padding: 0.8vw 2.11vw;
    border-radius: 2.64vw;
}
@media screen and (min-width: 769px){
    .c-tag-required{
        font-size: 10px;
        padding: 3px 8px;
        border-radius: 10px;
    }
}

/* 入力フィールド共通 (CF7が出力するspan対策) */
.p-form-item input[type="text"],
.p-form-item input[type="email"],
.p-form-item input[type="tel"],
.p-form-item textarea {
    width: 100%;
    padding: 2.9vw 1.6vw;
    border: none;
    background-color: #f3f3f3;
    border-radius: 2.11vw;
    font-size: 4.22vw;
    box-sizing: border-box;
}
@media screen and (min-width: 769px){
    .p-form-item input[type="text"],
    .p-form-item input[type="email"],
    .p-form-item input[type="tel"],
    .p-form-item textarea {
        padding: 11px 28px;
        font-size: 18px;
        line-height: 1.33;
        border-radius: 8px;
    }
}

.p-form-item textarea {
    height: 35.6vw;
    line-height: 1.7;
}
@media screen and (min-width: 769px){
    .p-form-item textarea{
        height: 240px;
    }
}

/* チェックボックス・ラジオボタンの調整 */
.wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    gap: 3.7vw;
}
@media screen and (min-width: 769px){
    .wpcf7-checkbox{
        gap: 40px;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

.wpcf7-list-item {
    margin: 0 !important;
    display: flex;
    align-items: center;
}

.wpcf7-list-item-label {
    font-size: 4.22vw;
    margin-left: 8px;
    cursor: pointer;
}
@media screen and (min-width: 769px){
    .wpcf7-list-item-label{
        font-size: 16px;
    }
}

/* --- チェックボックスのデザイン調整 --- */

/* 1. 元のチェックボックスを隠す */
.wpcf7-list-item input[type="checkbox"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* 2. 選択肢全体の並び（親要素） */
.wpcf7-checkbox {
    display: flex;
    flex-direction: column; /* スマホでは縦並び */
    gap: 15px;
    margin-top: 10px;
}

@media screen and (min-width: 769px) {
    .wpcf7-checkbox {
        flex-direction: row; /* PCでは横並び */
        flex-wrap: wrap;     /* 折り返し許可 */
        gap: 20px 30px;      /* 縦・横の隙間 */
    }
}

/* 3. 各選択肢のアイテム */
.wpcf7-list-item {
    margin: 0 !important;
    display: inline-block;
}

/* 4. ラベル部分の装飾 */
.wpcf7-list-item-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-size: 4.22vw;
    line-height: 1.4;
}

@media screen and (min-width: 769px) {
    .wpcf7-list-item-label {
        font-size: 16px;
    }
}

/* 5. 外側の円（ラジオボタン風のデザインを維持） */
.wpcf7-list-item-label::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    border: 1px solid #999;
    border-radius: 50%; /* 四角にしたい場合はここを 2px 等に変更 */
    background: #fff;
    margin-right: 8px;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* 6. 内側の丸（チェック時に表示） */
.wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    left: 6px; /* 外円の中央に来るよう調整 */
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 12px;
    height: 12px;
    background-color: #999; /* 選択時の色 */
    border-radius: 50%;
    transition: transform 0.2s ease-in-out;
}

/* 7. チェックされた時の挙動 */
.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    transform: translateY(-50%) scale(1);
}

/* (任意) チェック時に枠線の色を変える場合 */
.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    border-color: #999;
}

/* --- 送信完了時の演出用 --- */

/* フォーム全体を暗くするクラス（JSで付与） */
.p-form-container.is-sent {
    position: relative;
}
.p-form-container.is-sent .p-form-list,
.p-form-container.is-sent .p-form-header {
    filter: brightness(0.7); /* 暗くする */
    pointer-events: none; /* 操作不能にする */
}

/* ボタンを緑色に変えるクラス（JSで付与） */
.c-btn-submit.is-complete {
    background-color: #15ad23 !important;
    pointer-events: none;
}

/* Thanksレイヤー（初期は非表示） */
.p-thanks-layer {
    display: none; /* 最初は隠す */
    position: absolute;
    top: 48vw;
    left: -4vw;
    width: 97vw;
    height: 149vw;
    background: #fff;
    z-index: 100;
    justify-content: center;
    align-items: center;
    text-align: center;
}
@media screen and (min-width: 769px){
    .p-thanks-layer{
        left: -2vw;
        width: 93vw;
        height: 870px;
        top: 241px;
    }
}
@media screen and (min-width: 1118px){
    .p-thanks-layer{
        left: -50px;
        width: 1100px;
        top: 241px;
        height: 870px;
    }
}

.p-thanks-layer.is-show {
    display: flex; /* 送信完了時に表示 */
}
.p-thanks-content{
    color: #111B56;
    font-family: "Noto Sans JP", sans-serif;
}
.p-thanks-content h2{
    font-size: 6.3vw;
    border-bottom: 2px solid #D9D9D9;
    display: inline-block;
}
@media screen and (min-width: 769px){
    .p-thanks-content h2{
        font-size: 36px;
        border-bottom: none;
    }
}
.p-thanks-content__text{
    font-size: 5.27vw;
    margin-top: 7.9vw;
    line-height: 1.5;
    margin-bottom: 2.64vw;
}
@media screen and (min-width: 769px){
    .p-thanks-content__text{
        font-size: 20px;
        margin: 33px 0 10px 0;
    }
}
.p-thanks-content__text--small{
    font-size: 3.7vw;
}
@media screen and (min-width: 769px){
    .p-thanks-content__text--small{
        font-size: 14px;
    }
}
.p-thanks-img{
    width: 63.32vw;
    margin: 0 auto;
    margin-top: 15vw;
}
@media screen and (min-width: 769px){
    .p-thanks-img{
        width: 353px;
        margin-top: 80px;
    }
}
.wpcf7-response-output{
    display: none !important;
}

/* プライバシーポリシー */
.p-form-privacy {
    text-align: center;
    font-size: 4.22vw;
    margin-bottom: 5.28vw;
    font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px){
    .p-form-privacy{
        font-size: 16px;
        margin-bottom: 56px;
    }
}

.p-form-privacy a {
    color: #DF2020;
    text-decoration: none;
}

/* 送信ボタン */
.p-form-submit-wrap {
    text-align: center;
}

.c-btn-submit {
    background-color: #FE9903; /* オレンジ・茶色系 */
    color: #fff;
    border: none;
    padding: 4.22vw 0;
    font-size: 4.22vw;
    width: 79.95vw;
    font-weight: bold;
    border-radius: 9.5vw;
    cursor: pointer;
    transition: opacity 0.3s;
    font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 769px){
    .c-btn-submit{
        width: 300px;
        padding: 16px;
        font-size: 16px;
        border-radius: 36px;
    }
}

.c-btn-submit:hover {
    opacity: 0.8;
}

/* エラーメッセージの装飾（CF7用） */
.wpcf7-not-valid-tip {
    color: #DF2020;
    font-size: 13px;
    margin-top: 5px;
}

.wpcf7-spinner{
    display: none !important;
}

/* フッター */
footer{
    background-color: #EEF0F9;
    padding-bottom: 8.27vw;
}
@media screen and (min-width: 769px){
    footer{
        padding-bottom: 25px;
    }
}
.footer__list{
    display: flex;
    flex-direction: row;
    gap: 3vw;
    justify-content: center;
    padding-top: 3vw;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
}
@media screen and (min-width: 769px){
    .footer__list{
        gap: 10px;
        padding-top: 30px;
    }
}
.footer__item{
    font-size: 3vw;
    color: #111B56;
    position: relative;
}
@media screen and (min-width: 769px){
    .footer__item{
        font-size: 14px;
    }
}
.footer__item:last-child::before{
    content: "|";
    color: #111B56;
    font-size: 3vw;
    left: -0.5em;
    position: absolute;
}
@media screen and (min-width: 769px){
    .footer__item:last-child::before{
        font-size: 12px;
        left: -0.6em;
    }
}
.copy-right{
    font-size: 2.8vw;
    text-align: center;
    margin-top: 3vw;
    font-family: "Noto Sans JP", sans-serif;
    color: #111B56;
}
@media screen and (min-width: 769px){
    .copy-right{
        font-size: 10px;
        margin-bottom: 10px;
        margin-top: 20px;
    }
}