body {
    overflow-x: hidden;
}


.advent_top {
    background: center center / cover no-repeat url(../img/adv_top.jpg);
    height: 794px;
    position: relative;
}

.advent_top h2 {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    text-align: center;
    color: #fff;
    font-size: 34px;
    line-height: 2em;
}

.advent_top h2 span {
    font-size: 54px;
}

.advent_top h2 b {
    font-size: 70px;
}

.adv_intro,
.adv_gift,
.adv_rank h2,
.adv_ll h2,
.adv_special {
    text-align: center;
}

.adv_intro {
    padding: 140px 0 180px;
    background: bottom center / 1920px auto no-repeat url(../img/bg_d1.png), top center / 1920px auto repeat-y url(../img/bg1.png), #f1ece8;
}

.adv_intro h3 {
    font-size: 40px;
    margin-bottom: 1em;
}

.adv_intro h3+p {
    font-size: 24px;
}

.adv_intro h2 {
    margin: 100px 0 20px;
}

.adv_gift {
    padding-bottom: 300px;
    background: bottom center / 1920px auto no-repeat url(../img/bg_d2.jpg);
    position: relative;
}

.adv_gift:before {
    content: url(../img/gift_d.png);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -73%);
}

.adv_gift h3 {
    font-size: 40px;
    margin: 1em 0 0.25em;
}

.adv_gift h3+p {
    font-size: 24px;
}

.adv_gift .flex {
    margin-top: 40px;
    display: flex;
    column-gap: 20px;
    justify-content: center;
}

.adv_rank {
    padding-bottom: 200px;
    background: bottom center / 1920px auto no-repeat url(../img/bg_d3.png), top center / 1920px auto repeat-y url(../img/bg1.png), #f1ece8;
    position: relative;
}

.adv_rank:before {
    content: url(../img/ranking_d.png);
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

.adv_rank h2 {
    transform: translateY(-40px);
}

.adv_ll {
    padding-bottom: 300px;
    background: bottom center / 1920px auto no-repeat url(../img/bg_d4.png), top center / 1920px auto no-repeat url(../img/bg2.jpg), #caab61;
}

.adv_ll h2 {
    padding-bottom: 100px;
}
.adv_ll > .check a {
    display: block;
    color: #fff;
    font-weight: bold;
    text-align: center;
    display: block;
    margin: 0 auto;
    background: #523921;
    width: 18em;
    font-size: 24px;
    padding: 1em;
    border-radius: 0.25em;
}
.adv_ll > .check a img {
    vertical-align: sub;
    margin-left: 0.5em;
}
.adv_special {
    padding-bottom: 300px;
    background: bottom center / 1920px auto no-repeat url(../img/bg_d5.png), top center / 1920px auto no-repeat url(../img/bg4.jpg), #fff;
}

.adv_special h2 {
    padding-top: 70px;
}

.haiso_area {
    overflow: visible;
    padding-top: 0;
    background: top center / 1920px auto no-repeat url(../img/bg3.png), #f1ece8 !important;
}

.haiso_area h2 {
    padding: 0 !important;
    transform: translateY(-40px);
    position: relative;
}

.haiso_area h2:before {
    content: url(../img/santaface.png);
    position: absolute;
    right: 50%;
    top: -90px;
    transform: translateX(-210px);
}

address {
    background: #f1ece8;
    color: inherit;
}

.product_info h3 {
    min-height: 2.8em;
}

.price {
    font-size: clamp(24px, 4vw, 48px);
}

.price.marugo {
    font-weight: 700;
}

.price span {
    font-weight: 700;
    font-size: 0.75em;
}

.price small {
    font-size: 0.5em;
}

@media screen and (min-width: 1025px) {
    img.pconly {
        display: inline-block;
    }
}
    @media screen and (min-width: 1921px) {
    .advent_top {
        height: calc(794 / 1920 * 100vw);
    }

    .adv_intro {
        background: bottom center / contain no-repeat url(../img/bg_d1.png), top center / 1920px auto no-repeat url(../img/bg1.png), #f1ece8;
    }

    .adv_gift {
        padding-bottom: 300px;
        background: bottom center / contain no-repeat url(../img/bg_d2.jpg);
    }

    .adv_rank {
        padding-bottom: 200px;
        background: bottom center / contain no-repeat url(../img/bg_d3.png), #f1ece8;
    }

    .adv_ll {
        padding-bottom: 300px;
        background: bottom center / contain no-repeat url(../img/bg_d4.png), top center / 1920px auto no-repeat url(../img/bg2.jpg), #caab61;
    }

    .adv_special {
        background: bottom center / contain no-repeat url(../img/bg_d5.png), top center / 1920px auto no-repeat url(../img/bg4.jpg), #fff;
    }
}

@media screen and (max-width:1023px) {

    .advent_top {
        background: none;
        height: auto;
    }
    .advent_top h2 {
        position: static;
        background: #523921;
        font-size: 4.5vw;
        padding-top: 1vw;
    }
    .advent_top h2 span {
        font-size: 6vw;
    }
    .advent_top h2 b {
        font-size: 8vw;
    }
    .advent_top img {
        width: 100%;
    }
    .adv_intro {
        background: bottom center / contain no-repeat url(../img/bg_d1_sp.png), top center / contain no-repeat url(../img/bg1_sp.png), #f1ece8;
        padding: 18vw 0 25vw;
    }
    .adv_intro h2 {
        margin: 10vw 0 2vw;
    }
    .adv_intro h3 {
        font-size: 7vw;
        margin-bottom: 0.5em;
    }
    .adv_intro h3 + p {
        font-size: 3.8vw;
    }
    .adv_intro .pickup img {
        margin: 0 auto;
    }
    .adv_gift {
        padding-bottom: 30vw;
        background: bottom center / contain no-repeat url(../img/bg_d2_sp.png);
    }
    .adv_gift:before {
        content: "";
        width: 100vw;
        height: calc(205 / 750 * 100vw);
        background: center center / cover no-repeat url(../img/gift_d_sp.png);
        position: absolute;
        width: 100vw;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .adv_gift h3 {
        font-size: 7vw;
    }
    .adv_gift h3 + p {
        font-size: 3.8vw;
    }
    .adv_gift .flex {
        flex-direction: column;
        margin-top: 0;
    }
    .adv_gift .flex li {
        margin-top: 8vw;
    }
    .adv_gift .flex img {
        width: 70vw;
    }
    .adv_rank h2 {
        transform: none;
    }
    .adv_rank {
        background: bottom center / contain no-repeat url(../img/bg_d3_sp.png), top center / 100vw auto repeat-y url(../img/bg2_sp.png), #f1ece8;
        padding-bottom: 20vw;
    }
    .adv_rank:before {
        content: "";
        width: 100vw;
        height: calc(284 / 750 * 100vw);
        background: center center / cover no-repeat url(../img/ranking_d_sp.png);
        left: 0;
        transform: translateY(-50%);
    }
    .adv_rank h2 {
        margin-bottom: 10vw;
    }
    .adv_ll {
        padding-bottom: 32vw;
        background: bottom center / 100vw auto no-repeat url(../img/bg_d4_sp.png), top center / 100vw auto no-repeat url(../img/bg2_sp.jpg), #caab61;
    }
    .adv_ll h2 {
        padding-bottom: 5vw;
    }
    .adv_special {
        padding-bottom: 25vw;
        background: bottom center / 100vw auto no-repeat url(../img/bg_d5_sp.png), top center / 100vw auto no-repeat url(../img/bg4_sp.png), #fff;
    }
    .adv_special h2 {
        padding-top: 5vw;
        padding-bottom: 7vw;
    }
    .service {
        margin-top: 10vw;
    }
    .service img.sponly {
        width: 90vw;
        display: block;
        margin: 0 auto;
    }
    .haiso_area h2 {
        transform: none;
        padding-bottom: 5vw !important;
    }
    .haiso_area h2:before {
        content:"";
        display: block;
        width: 16.5vw;
        height: 27.5vw;
        background: center center / contain no-repeat url(../img/santaface.png);
        top: 0;
        right: auto;
        left: 0;
        transform: translateY(-13vw);
    }

    .ranking_wrap02 {
        flex-direction: column;
        align-items: center;
    }
    .ranking_wrap02_in {
        width: 90%;
    }


    
    .adv_ll > .check {
        margin-top: 8vw;
    }
    .adv_ll > .check a {
        font-size: 4.5vw;
    }
    .adv_ll > .check a img {
        width: 1.25em;
    }


    .advent_top h1 {
        position: absolute;
        width: 20vw;
        left: 2vw;
        top: 2vw;
    }
    .advent_top h1 a {
        display: block;
    }
    .advent_top h1 img {
        width: 100%;
        display: block;
    }
}


.haiso_box01 .sori {
    width: 22vw;
    right: 5vw;
    bottom: -7vw;
}
.haiso_box01 .sori img {
    width: 100%;
}
@media screen and (min-width: 1025px) {
    .haiso_box01 .sori {
        width: 194px;
        bottom: 30px;
    }
}