@charset "UTF-8";

body{
    background: url(/sanriocharacters-garden-cafe/images/present/bg_present.svg);
}
.bg_color01{
    background-color:#FFFEF6;
}
.bg_color02{
    background-color:#F2EFE6;
}
#end_cta{
    background-color: transparent;
}
#present_desc .profile_card,.wallpaper{
    background: #FFFEF6;
}
#present_desc .original_coaster{
    background: #F2EFE6;
}
#present_desc .main_ttl{
    font-family: var(--font-family01);
    text-align: center;
    font-size: 28px;
    color: #F4A583;
    font-weight: normal;
}
#happy-rainy-garden-day .main_img p{
    text-align: left;
}
#happy-rainy-garden-day a.btn_more {
    width: 100%;
    padding: 3px;
    font-size: 14px;
    color: #fff;
    background: #88603f;
}
#happy-rainy-garden-day a.btn_more::after{
    position: absolute;
    content: "";
    right: 4px;
    width: 16px;
    height: 16px;
    margin: auto;
    background-size: cover;
}
@media screen and (min-width: 821px){
    .content_inner_1240{
        max-width: 1240px;
        margin: 0 auto;
        padding: 80px 0;
    }
    .content_inner_880{
        max-width: 880px;
        margin: 0 auto;
    }
    #present_desc .mt160{
        margin-top: 160px;
    }
    #present_desc .present_desc_txt{
        max-width: 880px;
        margin: 0 auto 50px;
    }
    #present_desc .present_desc_list{
        display: flex;
        justify-content: center;
        margin-top: 50px;
    }
    #present_desc .present_desc_list li{
        position: relative;
        width: 320px;
        height: 180px;
        margin-right: 30px;
    }
    #present_desc .present_desc_list li:last-child{
        margin-right: 0px;
    }
    #present_desc .present_desc_list li::before{
        position: absolute;
        top: 0;
        left: 0;
        content: "";
        background: url(/sanriocharacters-garden-cafe/images/present/bg_present_nav.webp) no-repeat;
        width: 100%;
        height: 100%;
        background-size: cover;
    }
    #present_desc .present_desc_list li:hover:before{
        background: url(/sanriocharacters-garden-cafe/images/present/bg_present_nav_hover.webp) no-repeat;
    }
    #present_desc .present_desc_list li a{
        position: absolute;
        content: "";
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding-left: 40px;
    }
    #present_desc .present_desc_list li a:hover {
        opacity: 1;
    }
    #present_desc .present_desc_list li a::after{
        position: absolute;
        bottom: -20px;
        left: calc(50% - 20px);
        content: "";
        background: url(/sanriocharacters-garden-cafe/images/present/arrow_bottom.svg) no-repeat;
        width: 40px;
        height: 40px;
        background-size: cover;
    }
    #present_desc .present_desc_list li .it_01{
        display: flex;
        flex-direction: column;
        width: 50%;
    }
    #present_desc .present_desc_list li .it_02{
        width: 50%;
    }
    #present_desc .present_desc_list li .it_txt01{
        font-family: var(--font-family01);
        font-size: 24px;
        color: #F4A583;
    }
    #present_desc .present_desc_list li:hover .it_txt01{
        color: #8B603F;
    }
    #present_desc .present_desc_list li .it_txt02{
        font-size: 16px;
    }
    #present_desc .present_desc_list li .it_txt03{
        font-size: 24px;
    }
    #present_desc .present_desc_list li .it_txt03_s{
        font-size: 18px;
    }
    #present_desc .present_desc_list li .it_txt02,
    #present_desc .present_desc_list li .it_txt03{
        color: #8B603F;
    }
    #present_desc .present_desc_list li:hover .it_txt02,
    #present_desc .present_desc_list li:hover .it_txt03{
        color: #fff;
    }
    #present_desc .present_desc_list .wallpaper_img{
        width: 181px;
        height: 102px;
        height: auto;
        max-width: none;
    }
    #present_desc .main_p{
        font-size: 32px;
        padding-bottom: 10px;
    }
    #present_desc .line{
        border-bottom: 2px dotted #8B603F;
    }
    #profile_card .profile_card_list{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        margin-top: 30px;
    }
    #profile_card .profile_card_list .col_2{
        display: grid;
        grid-column: 4/6;
        place-content: center;
    }
    #profile_card .profile_card_list img{
        width: 100%;
        height: auto;
    }
    #profile_card .btn_more {
        margin-bottom: 50px;
    }
    #original_coaster .present_desc_list{
        display: flex;
        justify-content: center;
    }
    #original_coaster .present_desc_list li{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 320px;
        height: 100px;
        background-color: #FFFEF6;
        border-radius: 50px;
    }
    #original_coaster .present_desc_list li::before{
        display: none;
    }
    #original_coaster .present_desc_list li .it_01{
        width: 100%;
        padding-bottom: 10px;
    }
    #original_coaster .present_desc_list li .it_txt01{
        font-size: 24px;
        line-height: 1.2;
    }
    #original_coaster .present_desc_list li .it_txt02{
        font-size: 20px;
    }
    #original_coaster .present_desc_list li a{
        text-align: center;
        padding-left: 0;
    }
    #original_coaster .present_desc_list li:first-of-type{
        margin-right: 40px;
    }
    #food_order{
        margin-top: 50px;
    }
    #food_order,#drink_order{
        background-color: #FFFEF6;
        border-radius: 20px;
        padding: 20px 20px 12px;
    }
    #drink_order{
        margin-top: 20px;
    }
    #food_order .ttl,
    #drink_order .ttl{
        font-size: 20px;
        text-align: center;
        margin-bottom: 10px;
    }
    #food_order .list,
    #drink_order .list{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    #food_order .list img,
    #drink_order .list img{
        width: 100%;
        height: auto;
    }
    #wallpaper .main_img,
    #happy-rainy-garden-day .main_img{
        text-align: center;
        margin-top: 40px;
        display: flex;
        justify-content: space-around;
        gap: 40px;
    }
    #wallpaper .main_img p{
        text-align: left;
    }
    #happy-rainy-garden-day .main_img img{
        width: auto;
        height: 226px;
    }
}

@media screen and (max-width: 820px){
    .content_inner_1240{
        width: 88%;
        margin: 0 auto;
        padding-top: 80px;
    }
    .main_h2{
        font-size: 13vw;
        line-height: 1;
    }
    .main_p{
        line-height: 1.3;
        margin-bottom: 25px;
    }
    .sec_pad_80{
        padding: 80px 0;
    }

    #present_desc > div{
        padding-bottom: 80px;
    }
    #present_desc .present_desc_txt{
        font-size: 3.8vw;
        margin: 0 0 25px;
    }
    #present_desc .present_desc_list{
        display: flex;
        justify-content: center;
        margin-top: 50px;
        flex-wrap: wrap;
    }
    #present_desc .present_desc_list li{
        position: relative;
        width: 45%;
        background-color: #FFFEF6;
        border-radius: 20px;
        margin-bottom: 20px;
        padding: 20px 0;
        
    }
    #present_desc .present_desc_list li:nth-child(odd) {
        margin-right:20px;
    }
    #present_desc .present_desc_list li::before{
        display: none;
    }
    #present_desc .present_desc_list li a{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        text-align: center;
    }
    #present_desc .present_desc_list li a::after{
        position: absolute;
        bottom: -15px;
        left: calc(50% - 15px);
        content: "";
        background: url(/sanriocharacters-garden-cafe/images/present/arrow_bottom.svg) no-repeat;
        width: 30px;
        height: 30px;
        background-size: cover;
    }
    #present_desc .present_desc_list li .it_01{
        display: flex;
        flex-direction: column;
    }
    #present_desc .present_desc_list li .it_txt01{
        font-family: var(--font-family01);
        font-size: 3.2vw;
        color: #F4A583;
    }
    #present_desc .present_desc_list li .it_txt02{
        font-size: 2.8vw;
    }
    #present_desc .present_desc_list li .it_txt03{
        font-size: 3.5vw;
    }
    #present_desc .present_desc_list li .it_txt02,
    #present_desc .present_desc_list li .it_txt03{
        color: #8B603F;
    }
    #present_desc .main_p{
        font-size: 5.5vw;
        padding-bottom: 10px;
    }
    #present_desc .line{
        border-bottom: 2px dotted #8B603F;
    }
    #profile_card .profile_card_list{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        margin-top: 30px;
    }
    #profile_card .profile_card_list .col_2{
        display: grid;
        place-content: center;
    }
    #profile_card .profile_card_list img{
        width: 100%;
        height: auto;
    }
    #profile_card a.btn_more {
        margin: 0 0 25px;
    }
    #original_coaster .present_desc_list{
        display: flex;
        justify-content: space-between;
        margin-top: 30px;
    }
    #original_coaster .present_desc_list li{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 48%;
        background-color: #FFFEF6;
        border-radius: 20px;
    }
    #original_coaster .present_desc_list li::before{
        display: none;
    }
    #original_coaster .present_desc_list li .it_01{
        width: 100%;
    }
    #original_coaster .present_desc_list li .it_txt01{
        font-size: 5.5vw;
        line-height: 1.2;
    }
    #original_coaster .present_desc_list li .it_txt02{
        font-size: 3.8vw;
    }
    #original_coaster .present_desc_list li a{
        text-align: center;
        padding-left: 0;
    }
    #food_order{
        margin-top: 50px;
    }
    #food_order,#drink_order{
        background-color: #FFFEF6;
        border-radius: 10px;
        padding: 15px 8px 3px;
    }
    #drink_order{
        margin-top: 10px;
    }
    #food_order .ttl,
    #drink_order .ttl{
        font-size: 4.3vw;
        text-align: center;
        margin-bottom: 10px;
    }
    #food_order .list,
    #drink_order .list{
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    #food_order .list img,
    #drink_order .list img{
        width: 100%;
        height: auto;
    }
    #wallpaper .main_img{
        row-gap: 25px;
        display: flex;
        flex-wrap: wrap;
        text-align: center;
        margin-top: 30px;
    }
    #wallpaper .main_img img{
        width: 100%;
        height: auto;
    }

    #wallpaper .main_img p{
        text-align: left;
    }
    #happy-rainy-garden-day .main_img div:not(:last-of-type){
        margin-bottom: 40px;
    }
    #happy-rainy-garden-day .main_img div:nth-child(2){
        text-align: center;
    }
}
