

/* Common
===========================================*/
html{
    scroll-behavior: smooth;
}
img{
    width: 100%;
    height: auto;
}

@media screen and (min-width:768px){
    #pageTop2 {
        position: fixed;
        bottom: 2vw;
        right: 2vw;
        z-index: 10000;
    }
    #pageTop2 a {
        display: block;
        z-index: 999;
        padding: 8px 8px 8px 8px;
        border-radius: 0px;
        width: 35px;
        height: 35px;
        background-color: #231815;
        color: #fff;
        font-weight: bold;
        text-decoration: none;
        text-align: center;
    }
}
@media screen and (max-width: 767px) {
    #pageTop2 {
        bottom: 12vw;
        left: 2vw;
    }
    #pageTop2 a {
        display: block;
        z-index: 999;
        padding: 8px 8px 8px 8px;
        border-radius: 0px;
        width: 35px;
        height: 35px;
        background-color: #231815;
        color: #fff;
        font-weight: bold;
        text-decoration: none;
        text-align: center;
    }
}

/* xmas25
===========================================*/
.nav {
    position: relative;
}

/* アコーディオン */
.xmas25_ac {
    position: relative;
    width: 100%;
}
.accordion__ttl {
    cursor: pointer;
    transition: opacity .3s ease;
}
.accordion__cnt {
    width: 100%;
    height: 0;
    overflow: hidden;
    transition: height .3s ease;
}
.xmas25_ac.open .accordion__ttl {
    opacity: 0;
    height: 0;
    pointer-events: none;
}
.xmas25_ac.open .accordion__cnt {
    overflow: hidden;
}

.bg {
    background: url(img/page/xmas25/bg.jpg) no-repeat;
    background-size: cover;
}
.item_list li {
    background: #fbf6f0;
    border-image: linear-gradient(90deg, rgba(241, 226, 196, 1) 0%, rgba(216, 193, 152, 1) 55%, rgba(237, 221, 192, 1) 100%) 1;
}
.page_link {
    margin: 0 auto;
}
.page_link a {
    display: block;
    width: 100%;
    background: #000;
    text-align: center;
    position: relative;
}
.page_link a:link,
.page_link a:visited{
    color: #fff;
}
.sb_link {
    position: relative;
}
@media screen and (min-width:768px){
    .wrapper main {
        margin-top: 0!important;
    }
    .nav_link {
        height: 40vw;
        width: 88.5%;
        display: flex;
        justify-content: space-between;
        position: absolute;
        bottom: 12%;
        left: 5.5%;
    }
    .nav_link a {
        width: calc(33.3% - 1vw);
    }
    .item_list {
        padding: 0 4vw;
        display: flex;
        flex-direction: column;
        gap: 5vw;
    }
    .item_list li {
        padding-bottom: 8vw;
        border-bottom: .6vw solid transparent;
    }
    .xmas25_ac_box {
        padding: 0 4vw 6vw;
    }
    .page_link{
        width: 85%;
    }
    .page_link a {
        font-size: 2vw;
        padding: 1.5vw;
    }
    .page_link a::after {
        display: inline-block;
        content: '';
        height: 1.5vw;
        width: 1.5vw;
        border-top: .2vw solid;
        border-right: .2vw solid;
        position: absolute;
        top: 35%;
        right: 12%;
        transform: rotate(45deg);
    }
    .sb_link {
        padding: 5vw 3vw 1vw;
    }
    .note {
        padding: 1vw 3vw 13vw;
        font-size: 1.1vw;
        line-height: 1.4;
    }
    .sb_link a {
        display: block;
        height: 9vw;
        width: 67%;
        position: absolute;
        bottom: 11%;
        left: 16%;
    }
}
@media screen and (max-width:767px){
    .nav_link {
        height: 60vw;
        width: 88.5%;
        display: flex;
        justify-content: space-between;
        position: absolute;
        bottom: 12%;
        left: 5.5%;
    }
    .nav_link a {
        width: calc(33.3% - 1vw);
    }
    .item_list {
        padding: 0 5vw;
        display: flex;
        flex-direction: column;
        gap: 7vw;
    }
    .item_list li {
        padding-bottom: 11vw;
        border-bottom: 4px solid;
    }
    .xmas25_ac_box {
        padding: 0 5vw 9vw;
    }
    .page_link{
        width: 89%;
    }
    .page_link a {
        font-size: 2.8vw;
        letter-spacing: .08em;
        padding: 2.5vw;
    }
    .page_link a::after {
        display: inline-block;
        content: '';
        height: 2vw;
        width: 2vw;
        border-top: 1.5px solid;
        border-right: 1.5px solid;
        position: absolute;
        top: 35%;
        right: 12%;
        transform: rotate(45deg);
    }
    .sb_link {
        padding: 8vw 4vw 1vw;
    }
    .sb_link a {
        display: block;
        height: 13vw;
        width: 67%;
        position: absolute;
        bottom: 11%;
        left: 16%;
    }
    .note {
        padding: 2vw 5vw 17vw;
        font-size: 1.7vw;
        line-height: 1.4;
    }
}