.mv_text_shadow{
    text-shadow: 0px 0px 17.49px #62403B;
}
img{
    vertical-align: bottom;
    width: 100%;
}
#plan section:last-child{
    padding-bottom: 0;
}
#plan .mv h1{
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--white);
}
#plan .plan_title{
    padding-bottom: 0
}
#plan .purchase_wrap{
    background-image: url(../img/bg_wine_colored_cloth.jpg);
    background-size: cover;
    background-attachment: fixed;
    margin-top: 48px;
}
#plan .plan_wrap_top{
    display: flex;
    gap: 32px;
}

#plan .plan_wrap_top_img img{
    width: calc(100% + 2px);
    object-position: -1px;
}
#plan .plan_explain{
    color: var(--white);
    text-align: center;
    display: flex;
    flex-direction: column;
    flex-grow: 1;

}
.plan_explain h3{
    height: 80px;
    border: 1px solid var(--logo, #D5BB66);
    background: rgba(255, 255, 255, 0.20);
    position: relative;
    line-height: 80px;
}

.plan_explain h3::before,
.plan_explain h3::after{
    content: "";
    background-image: url(../img/plan_title_deco.svg);
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
}
.plan_explain h3::after{
    left: 100%;
    transform: translateX(-100%) rotate(90deg);
}

.plan_explain .price_title{
    margin-top: 24px;
    line-height: 2.4rem;

}
.plan_explain .price.price2{
    margin-top: 8px;
}
.plan_explain .price .include_tax_price{
    color: var(--logo);
    padding-top: 16px;
}

#plan .plan_explain img{
    width: 280px;
    margin: 20px 0 24px;
}

.purchase.plan_explain .price .include_tax_price {
    padding-top: 40px;
}

#plan .plan_content{
    display: flex;
    gap: 16px;
    margin-top: 24px;
    margin-bottom: 48px;
}

#plan .plan_content h2{
    background: var(--Brown_button, #62403B);
    color: var(--White, #FFF);
    text-align: center;
    padding: 10px;
    font-weight: 600;
}

#plan .plan_content .content1{
    width: 66%;
}

#plan .plan_content .content1_wrap{
    display: flex;
    padding: 27px;
    padding-bottom: 33px;
    gap: 24px;
    background: var(--white);
}

#plan .plan_content picture{
    width: 200px;
}

#plan .content1_text{
    display: flex;
    flex-direction: column;
    flex: 1;
}
#plan .plan_content p{
    color: var(--Body);
    text-align: justify;
    font-family: Noto Serif JP;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.4rem; /* 150% */
    letter-spacing: 0.032rem;
}

#plan .content1_text h3{
    line-height: 1.9rem;
    margin-bottom: 8px;
    color: var(--midashi-brown);
}

#plan .content1_text span{
    display: block;
}

#plan .plan_content .content2{
    flex-grow: 1;
    background: var(--white);
}

#plan .plan_content .content2_wrap{
    padding: 14px 25px 18px;
}
#plan .content2_wrap img{
    width: 100%;
}
#plan .content2_wrap h3{
    margin: 16px 0 8px;
    line-height: 1.9rem;
    color: var(--midashi-brown);
}

#plan .rental_wrap{
    background: url(../img/bg_plan_rental.jpg);
    background-size: cover;
    background-attachment: fixed
}

#plan .rental_wrap .content2
{
    width: calc(100% - 32px);
}

#plan .rental_wrap .content2_wrap{
    padding-bottom: 24px;
}

#plan .bring_wrap{
    background: url(../img/bg_plan_bring.jpg);
    background-size: cover;
    background-attachment: fixed
}

#plan .bring_wrap .plan_content{
    gap: 20px;
    align-items: flex-start;
}

#plan .plan_content .bring_plan_content{
    margin-top: 0;
    display: flex;
    gap: 20px;
}



#plan .bring_wrap .plan_content .content2,
#plan .bring_wrap  p{
    text-align: center;
}

#plan .bring_wrap .plan_content .content2_wrap{
    padding: 22px 20px 28px;
}

#plan .bring_wrap .content2_wrap h3{
    line-height: 2.8rem;
}
#plan .bring_gift{
    width: 48%;
}
#plan .bring_wrap .plan_content .bring_gift .content2_wrap{
    padding: 22px 40px 28px;
}
#plan .bring_gift img{
    width: 68%;
}

#plan .bring_gift h3{
    margin-bottom: 4px;
}
#plan .bring_gift p{
    text-align: left;
}
#plan .bring_gift p:last-child{
    border-top: 1px solid #BD9B52;
    border-bottom: 1px solid #BD9B52;
    padding: 8px 16px;
    margin: 8px 0 0;
    color: var(--midashi-brown);

}

@media screen and (max-width: 800px){
    #plan .plan_content .content1_wrap{
        flex-direction: column;
    padding: 16px 16px 24px;
    gap: 16px;
    display: flex;
    }

    #plan .plan_content .content1_wrap picture{
        width: 100%;
    }

    #plan .plan_content .content1_wrap picture img{
        object-fit: cover;
        height: 128px;
    }

    #plan .bring_wrap .plan_content .bring_gift .content2_wrap{
        padding: 22px 20px 28px;
    }

    #plan .bring_gift img {
        width: 100%;
    }
}

@media screen and (max-width: 650px) {
    #plan .container{
        width: 80%;
    }


    #plan .mv h1{
        width: 100%;
    }

    #plan .plan_wrap_top {
        flex-direction: column;
        gap: 24px;
    }
    #plan .purchase .plan_wrap_top_img{
        width: 100%;
    }

    #plan .plan_wrap_top_img {
        width: 100%;
        overflow: hidden;
    }

    #plan .plan_wrap_top_img img{
        height: 100%;
    }

    /* プラン料金 */
    .plan_explain h3 {
        height: 60px;
        line-height: 60px;
    }

    .plan_explain .price_title{
        margin-top: 16px;
    }
    .purchase.plan_explain .price .include_tax_price {
        padding-top: 16px;
    }
    .price .include_tax_price{
        padding-top: 0;
    }

    .plan_explain .price .include_tax_price {
        padding-top: 8px;
    }
    .plan_explain .tax{
        margin-top: -2px;
    }
    #plan .plan_explain img {
        margin: 16px 0 ;
    }
    #plan .plan_explain .explain{
        text-align: left;
        width: 92%;
        margin: 0 auto;
    }

    .plan_explain .price.price2{
        margin-top: 0;
    }

    #plan .plan_content{
        flex-direction: column;
        gap: 24px;
        margin-bottom: 24px;
    }
    #plan .plan_content .content1,
    #plan .plan_content .content2{
        width: 100%;
    }
    #plan .plan_content h2{
        padding: 6px 27px 7px;
    }
    #plan .plan_content .content1_wrap,
    #plan .plan_content .content2_wrap{
        flex-direction: column;
        padding: 16px 16px 24px;
        gap: 16px;
        display: flex;
    }
    #plan .plan_content picture{
        width: 100%;
    }
    #plan .content1_text h3,
    #plan .content2_wrap h3{
        text-align: center;
        margin-bottom: 0;
        line-height: normal;
    }

    #plan .content2_wrap h3{
        margin: 0;
    }
    #plan .content1_text{
        gap: 16px;
    }

    #plan .plan_content .content1_wrap picture img{
        height: auto;
    }

    #plan .plan_content p{
        font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.4rem;
    letter-spacing:0px;
    }
    #plan .content1_text span{
        display: inline;
    }

    #plan .plan_content .bring_plan_content{
        flex-direction: column;
    }

    #plan .bring_wrap .plan_content{
        align-items: normal;
    }

    #plan .bring_wrap .plan_content .content2_wrap{
        padding: 16px 16px 24px;
    }

    #plan .bring_wrap .plan_content .bring_gift .content2_wrap {
        padding: 16px 16px 24px;
    }

    #plan .plan_content .bring_plan_content,
    #plan .bring_wrap .plan_content {
        gap: 24px;
    }

    #plan .bring_gift p:last-child{
        margin: 0;
        padding: 8px 8px;
    }
}

