@charset "utf-8";

.dp25th {
    font-family: "Noto Serif JP", serif;
}

[data-browse-mode="P"] {
    .dp25th h2 {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
    }

    .dp25th h3 {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
    }

    .dp25th img {
        width: 100%;
        height: auto;
    }

    .dp25th .hacobune-logo-image[data-v-f071fed6] {
        width: 55px;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button {
        display: block;
        overflow: hidden;
        top: calc(50% - 25px);
        margin: 0;
        width: 63px;
        height: 63px;
        background: rgba(255, 255, 255, 0) !important;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev {
        left: calc(50% - 195px);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next {
        right: calc(50% - 204px);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-icon {
        display: none;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::after,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::after {
        display: block;
        content: '';
        border-radius: 100%;
        width: 53px;
        height: 53px;
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 0 8px rgb(0 0 0 / 15%);
        position: absolute;
        top: 5px;
        z-index: 5;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::before,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::before {
        display: block;
        content: '';
        width: 12px;
        height: 12px;
        border-top: solid 3px #76161B;
        border-right: solid 3px #76161B;
        position: absolute;
        left: 13px;
        top: calc(50% - 5px);
        z-index: 10;
        transform: rotate(45deg);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::before {
        left: 22px;
        transform: rotate(-135deg);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::before {
        left: 19px;
    }

    .pane-left-menu {
        display: none;
    }

    .pane-contents .container {
        display: block;
        width: 100%;
    }

    .pane-contents .pane-left-menu+.pane-main {
        width: 100%;
    }

    .pane-contents .container .block-event-page--header {
        display: none;
    }

    .u-hidden-pc {
        display: none;
    }

    .dp25th .hacobune-app-container[data-v-f6dfcf18] {
        padding-top: 0;
    }

    .dp25th_mv {
        position: relative;
        height: max(37.5rem, 19.53125vw);
    }

    .dp25th_mv img {
        object-fit: cover;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
    }

    .dp25th .dp25th_head {
        margin-top: 8rem;
        text-align: center;
        width: 83rem;
        margin-inline: auto;
    }

    .dp25th .dp25th_copy {
        position: relative;
        display: inline-block;
        color: #76161B;
        font-weight: 500;
        font-size: 2.8rem;
        line-height: 1.7;
        text-align: center;
    }

    .dp25th .dp25th_copy::before,
    .dp25th .dp25th_copy::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
        width: 6.5rem;
        height: 11.3rem;
    }

    .dp25th .dp25th_copy::before {
        left: -7rem;
        background: url(../head-icon1.png) center / contain no-repeat;
    }

    .dp25th .dp25th_copy::after {
        right: -4rem;
        background: url(../head-icon2.png) center / contain no-repeat;
    }

    .dp25th .dp25th_text {
        text-align: center;
        margin-top: 4rem;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 2;
    }

    .dp25th .dp25th_anchors {
        gap: 2rem;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        max-width: 120.2rem;
        width: 100%;
        margin-top: 7.2rem;
        margin-inline: auto;
    }

    .dp25th .dp25th_anchor a {
        display: block;
        box-shadow: 2px 2px 0px 0px #CCCCCC;
    }

    .dp25th .dp25th-text {
        font-size: 2rem;
        font-weight: 500;
        line-height: 1.75;
        margin-top: 3.2rem;
        text-align: center;
    }

    .dp25th .dp25th-title {
        text-align: center;
    }

    .dp25th .dp25th-title>span {
        display: block;
        line-height: 1;
        font-size: 1.6rem;
        font-weight: 500;
        color: #76161B;
    }

    .dp25th .dp25th-campaign .dp25th-title>img {
        width: 31.7rem;
    }

    .dp25th .dp25th-campaign .dp25th-title>span {
        margin-top: .8rem;
    }

    .dp25th .dp25th-recommend .dp25th-title>img {
        width: 51.2rem;
    }

    .dp25th .dp25th-recommend .dp25th-title>span {
        margin-top: 1.6rem;
    }

    .dp25th .dp25th-recommend .dp25th-recipe .dp25th-title>img {
        width: 15.2rem;
    }

    .dp25th .dp25th-recommend .dp25th-recipe .dp25th-title>span {
        margin-top: .8rem;
    }

    .dp25th .dp25th-recommend .dp25th-item .dp25th-title>img {
        width: 11.8rem;
    }

    .dp25th .dp25th-recommend .dp25th-item .dp25th-title>span {
        margin-top: .9rem;
    }

    .dp25th .dp25th-history .dp25th-title>img {
        width: 25.8rem;
    }

    .dp25th .dp25th-history .dp25th-title>span {
        margin-top: 0rem;
        color: #B5A485;
    }

    .dp25th .dp25th-message .dp25th-title>img {
        width: 29.1rem;
    }

    .dp25th .dp25th-message .dp25th-title>span {
        margin-top: -.4rem;
    }

    .dp25th .dp25th-campaign {
        padding: 6.4rem 0 12.8rem;
        margin-top: 8rem;
        overflow: hidden;
        position: relative;
        z-index: 10;
        background: #F5EEE1 url(../campaign-mask.png) center / cover no-repeat;
    }

    .dp25th .dp25th-campaign::before {
        content: "";
        background: url(../campaign-top-bg.png) center top / contain no-repeat;
        width: 192rem;
        height: 25rem;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 20;
    }

    .dp25th .dp25th-campaign::after {
        content: "";
        background: url(../campaign-bottom-bg.png) center top / contain repeat;
        width: 100%;
        height: 31.4rem;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1;
    }

    @media screen and (max-width: 1920px) {
        .dp25th .dp25th-campaign::after {
            width: 192rem;
        }
    }

    .dp25th .dp25th-campaign_dots {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.6rem;
        margin-top: 4.8rem;
    }

    .dp25th .dp25th-campaign_dot {
        width: .8rem;
        height: .8rem;
        border-radius: 9999px;
        background-color: #76161B;
    }

    .dp25th .dp25th-campaign_dot:nth-of-type(1) {
        opacity: 0.25;
    }

    .dp25th .dp25th-campaign_dot:nth-of-type(2) {
        opacity: 0.5;
    }

    .dp25th .dp25th-campaign_start {
        margin-top: 2.4rem;
        font-size: 3.6rem;
        line-height: 1.4;
        text-align: center;
        color: #76161B;
    }

    .dp25th .dp25th-campaign_box {
        padding: 1.3rem 0 2.2rem;
        width: 120rem;
        margin-top: 1.6rem;
        margin-inline: auto;
        background: url(../commingsoon-bg.png) center top / contain no-repeat;
    }

    .dp25th .dp25th-campaign_comming {
        width: 25.4rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-campaign_commingDate {
        font-size: 2rem;
        text-align: center;
    }

    .dp25th .dp25th-campaign_items {
        max-width: 111rem;
        width: 100%;
        margin-inline: auto;
        margin-top: 4rem;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 4.8rem;
    }

    @media screen and (max-width: 1250px) {
        .dp25th .dp25th-campaign_items {
            max-width: 90rem;
        }
    }

    .dp25th .dp25th-campaign_item {
        padding: 3.2rem;
        position: relative;
    }

    .dp25th .dp25th-campaign_item:nth-of-type(odd) {
        margin-right: calc(50% - 50vw);
        padding-right: calc(50vw - 50%);
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.1) 100%);
    }
    @media screen and (max-width: 1215px) {
        .dp25th .dp25th-campaign_item:nth-of-type(odd) {
            margin-right: -156px;
            padding-right: 156px;
        }

    }

    .dp25th .dp25th-campaign_item:nth-of-type(even) {
        margin-left: calc(50% - 50vw);
        padding-left: calc(50vw - 50%);
        background: linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.8) 45%, rgba(255, 255, 255, 0.1) 100%);
    }
    
    @media screen and (max-width: 1215px) {
        .dp25th .dp25th-campaign_item:nth-of-type(even) {
            margin-left: -156px;
            padding-left: 156px;
        }
    }

    .dp25th .dp25th-campaign_item::before {
        content: "";
        display: inline-block;
        position: absolute;
        z-index: -10;
    }

    .dp25th .dp25th-campaign_item:nth-of-type(4n + 1):before {
        background: url(../campaign-child-bg1.png) center top / contain no-repeat;
        width: 37.7rem;
        height: 83.3rem;
        top: -23rem;
        left: -26.3rem;
    }

    .dp25th .dp25th-campaign_item:nth-of-type(4n + 2):before {
        background: url(../campaign-child-bg2.png) center top / contain no-repeat;
        width: 27.7rem;
        height: 48.3rem;
        top: 6rem;
        right: -23rem;
    }
    
    @media screen and (max-width: 1250px) {
        .dp25th .dp25th-campaign_item:nth-of-type(4n + 2):before {
            width: 17.7rem;
            right: -15rem;
        }

    }

    .dp25th .dp25th-campaign_item:nth-of-type(4n + 3):before {
        background: url(../campaign-child-bg3.png) center top / contain no-repeat;
        width: 25.1rem;
        height: 55rem;
        top: 1rem;
        left: -28rem;
    }
    @media screen and (max-width: 1250px) {
        .dp25th .dp25th-campaign_item:nth-of-type(4n + 3):before {
            width: 15rem;
            height: 34rem;
            left: -14.7rem;
        }
    }

    .dp25th .dp25th-campaign_item:nth-of-type(4n + 4):before {
        background: url(../campaign-child-bg4.png) center top / contain no-repeat;
        width: 37.7rem;
        height: 83.3rem;
        top: -21rem;
        right: -26.4rem;
    }

    .dp25th .dp25th-campaign_item:nth-of-type(even) .dp25th-campaign_itemInner {
        flex-direction: row-reverse;
    }

    .dp25th .dp25th-campaign_itemInner {
        display: flex;
        gap: 4rem;
        width: 100%;
        margin-inline: auto;
    }

    .dp25th .dp25th-campaign_img {
        max-width: 60rem;
        width: 100%;
        filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
    }

    .dp25th .dp25th-campaign_img img {
        clip-path: polygon(48px 0, 100% 0, 100% calc(100% - 46px), calc(100% - 48px) 100%, 0 100%, 0 46px);
    }

    .dp25th .dp25th-campaign_body {
        padding-top: 2.5rem;
        max-width: 40rem;
        width: 100%;
        text-align: center;
    }

    .dp25th .dp25th-campaign_name {
        background: url(../campaign-ribon.png) center / contain no-repeat;
        color: #fff;
        text-shadow: 0 0 6px #92732C;
        padding: .8rem 0 2.7rem;
        font-size: 2.4rem;
    }

    .dp25th .dp25th-campaign_title {
        font-size: 2.8rem;
        line-height: 1.42;
        font-weight: 500;
        margin-top: 2.8rem;
        color: #76161B;
    }

    .dp25th .dp25th-campaign_text {
        margin-top: 1.8rem;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.6;
    }

    .dp25th .dp25th-campaign_text::after {
        content: "";
        display: block;
        background-color: #CCCCCC;
        margin-top: 2.4rem;
        width: 34rem;
        height: 1px;
        margin-inline: auto;
        padding: 0 1rem;
    }

    .dp25th .dp25th-campaign_date {
        min-height: 3.5rem;
        display: inline-flex;
        align-items: center;
        font-size: 1.6rem;
        background-color: #fff;
        padding: 0 1rem;
        margin: 2.4rem auto 0;
        width: max-content;
        border: 1px solid #707070;
    }

    .dp25th .dp25th-campaign_sub {
        margin-top: 0.8rem;
        font-size: 1.6rem;
        color: #999999;
    }

    .dp25th .dp25th-campaign_other {
        margin-top: 3.2rem;
    }

    .dp25th .dp25th-campaign_other.col2 {
        display: flex;
        flex-wrap: wrap;
        gap: .8rem;
        justify-content: center;
    }

    .dp25th .dp25th-campaign_btn {
        width: 34.4rem;
        margin-inline: auto;
        min-height: 5.6rem;
        background-color: #76161B;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 1.8rem;
        text-decoration: none;
    }

    .dp25th .dp25th-campaign_other.col2 .dp25th-campaign_btn {
        font-size: 1.6rem;
        width: calc((100% - 0.8rem) / 2);
    }

    .dp25th .dp25th-campaign_other.col2 .dp25th-campaign_btn.sns-instagram {
        font-size: 1.4rem;
    }

    .dp25th .dp25th-campaign_btn.sns-instagram::before {
        content: "";
        display: inline-block;
        margin-right: 0.6rem;
        width: 2rem;
        height: 2rem;
        background: url(../instagram_w.png) center / contain no-repeat;
    }

    .dp25th .dp25th-campaign_btn.sns-x::before {
        content: "";
        display: inline-block;
        margin-right: 0.6rem;
        width: 1.7rem;
        height: 1.7rem;
        background: url(../x_w.png) center / contain no-repeat;
    }

    .dp25th .dp25th-campaign_btn::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1.2rem;
        width: 0.6rem;
        height: 1rem;
        background: url(../btn-arrow.png) center / contain no-repeat;
    }

    .dp25th .dp25th-recommend {
        background: #F7F7F7 url(../recommend-mask.png) center / cover no-repeat;
    }

    .dp25th .dp25th-recommend_inner {
        padding: 8rem 0 12rem;
        background: url(../recommend-bg.png) center top / 2200px auto no-repeat;
    }

    .dp25th-recipe {
        background-color: #fff;
        padding: 3.85rem 4rem 1rem 4rem;
        width: 80rem;
        margin-inline: auto;
        margin-top: 4rem;
    }

    .dp25th .dp25th-item {
        margin-top: 4.5rem;
    }

    .dp25th .dp25th-item_inner {
        width: 120rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-item_contents {
        margin-top: 1rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 5.1rem 4.5rem;
        margin-top: 3.6rem;
    }

    .dp25th .dp25th-item_content {
        display: flex;
        justify-content: center;
        gap: 2.4rem;
        position: relative;
        padding: 5.2rem 3.2rem 3.2rem 2.4rem;
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
    }

    .dp25th .dp25th-item_content::before {
        content: "";
        display: inline-block;
        background: url(../item-mark1.png) center top / contain no-repeat;
        width: 3.2rem;
        height: 3.2rem;
        position: absolute;
        top: .6rem;
        left: .6rem;
    }

    .dp25th .dp25th-item_content::after {
        content: "";
        display: inline-block;
        background: url(../item-mark2.png) center top / contain no-repeat;
        width: 3.2rem;
        height: 3.2rem;
        position: absolute;
        bottom: .6rem;
        right: .6rem;
    }

    .dp25th .dp25th-item_recommend {
        position: absolute;
        top: -2.5rem;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        gap: 1.6rem;
        background-color: rgba(224, 202, 153, 0.7);
        padding-left: 1.6rem;
        padding-right: 2.7rem;
        min-height: 5.5rem;
        width: max-content;
    }

    .dp25th .dp25th-item_recommend_copy {
        font-size: 1.6rem;
    }

    .dp25th .dp25th-item_recommend_ico {
        width: 4.8rem;
    }

    .dp25th .dp25th-item_recommend_staff {
        font-size: 1.3rem;
    }

    .dp25th .dp25th-item_recommend_name {
        font-weight: bold;
    }

    .dp25th .dp25th-item_img {
        width: 19.2rem;
    }

    .dp25th .dp25th-item_body {
        width: 29.2rem;
    }

    .dp25th .dp25th-item_title {
        font-size: 1.6rem;
        font-weight: bold;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-item_text {
        font-size: 1.6rem;
        margin-top: 1.6rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-item_other {
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-item_btn {
        width: 20rem;
        min-height: 4rem;
        background-color: #76161B;
        position: relative;
        display: grid;
        place-items: center;
        color: #fff;
        font-size: 1.4rem;
        text-decoration: none;
    }

    .dp25th .dp25th-item_btn::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1.2rem;
        width: 0.6rem;
        height: 1rem;
        background: url(../btn-arrow.png) center / contain no-repeat;
    }

    .dp25th .dp25th-history {
        padding: 8rem 0 14rem;
        background: #F5EEE1 url(../history-mask.png) center / cover no-repeat;
        overflow: hidden;
        position: relative;
        z-index: 10;
    }

    .dp25th .dp25th-history::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: url(../history-bg.png) center top / 1697px auto no-repeat;
        opacity: 0.2;
        width: 169.7rem;
        height: 110.2rem;
    }

    .dp25th .dp25th-history_inner {
        position: relative;
        z-index: 20;
    }

    .dp25th .dp25th-history_items {
        margin-top: 5.5rem;
        position: relative;
        width: 110rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-history_items::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 8.8rem;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 59.4rem;
        background-color: #B5A485;
    }

    .dp25th .dp25th-history_item {
        width: 50%;
        position: relative;
    }

    .dp25th .dp25th-history_item:nth-of-type(2) {
        margin-top: -9rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(3) {
        margin-top: 6rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(4) {
        margin-top: -8.8rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(5) {
        margin-top: 7.6rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(6) {
        margin-top: 7rem;
    }

    .dp25th .dp25th-history_item.right {
        margin-left: auto;
    }

    .dp25th .dp25th-history_item.right .dp25th-history_header,
    .dp25th .dp25th-history_item.right .dp25th-history_text {
        padding-left: 6rem;
    }

    .dp25th .dp25th-history_item.left .dp25th-history_header,
    .dp25th .dp25th-history_item.left .dp25th-history_text {
        padding-right: 6rem;
    }

    .dp25th .dp25th-history_item.left {
        margin-right: auto;
    }

    .dp25th .dp25th-history_header {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem 0;
        padding-bottom: 1.3rem;
        border-bottom: 1px solid #76161B;
        position: relative;
    }

    .dp25th .dp25th-history_header::before {
        content: "";
        display: inline-block;
        position: absolute;
        bottom: -.5rem;
        width: 1rem;
        height: 1rem;
        background-color: #76161B;
        border-radius: 999px;
    }

    .dp25th .dp25th-history_item.right .dp25th-history_header::before {
        left: -.5rem;
    }

    .dp25th .dp25th-history_item.left .dp25th-history_header::before {
        right: -.5rem;
    }

    .dp25th .dp25th-history_date {
        display: flex;
        align-items: start;
        margin-right: 2.5rem;
    }

    .dp25th .dp25th-history_year {
        width: 9.8rem;
        position: relative;
        top: .7rem;
        left: 0;
    }

    .dp25th .dp25th-history_item:nth-of-type(6) .dp25th-history_year {
        top: 0;
        width: 11.1rem;
    }

    .dp25th .dp25th-history_copy {
        font-size: 2.4rem;
        font-weight: 600;
        color: #76161B;
    }

    .dp25th .dp25th-history_month {
        font-size: 2.4rem;
        font-weight: 600;
        color: #76161B;
    }

    .dp25th .dp25th-history_text {
        margin-top: 1.6rem;
        font-size: 1.4rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
    }


    .dp25th .dp25th-message {
        padding: 8rem 0 9.6rem;
        background-color: #F7F7F7;
    }

    .dp25th .dp25th-message_mv {
        margin-top: 4rem;
        width: 120rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-message_items {
        width: 113.5rem;
        margin-inline: auto;
        margin-top: 5.6rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem 4.8rem;
    }

    .dp25th .dp25th-message_item {
        display: flex;
        align-items: center;
        gap: 2.4rem;
    }

    .dp25th .dp25th-message_img {
        width: 12.2rem;
        flex-shrink: 0;
    }

    .dp25th .dp25th-message_ico {
        width: 6.4rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-message_sub {
        margin-top: 0.8rem;
        font-size: 1.4rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-message_body {}

    .dp25th .dp25th-message_text {
        font-size: 1.4rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-message_title-line {
        position: relative;
    }

    .dp25th .dp25th-message_title-line::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 55%;
        width: 3.3rem;
        height: 1px;
        background-color: #333333;
        right: -3.9rem;
    }
}

[data-browse-mode="S"] {
    .dp25th h2 {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
    }

    .dp25th h3 {
        margin: 0;
        padding: 0;
        background: none;
        border: none;
    }

    .dp25th img {
        width: 100%;
        height: auto;
    }

    .block-event-page--header {
        display: none;
    }

    .dp25th .hacobune-logo-image[data-v-f071fed6] {
        width: 55px;
    }

    .u-hidden-sp {
        display: none;
    }

    .dp25th .hacobune-app-container:has(.hacobune-containers-base.hacobune-containers-product-tile) {
        padding-top: 0;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-icon {
        display: none;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider.hacobune-slider-mb .hacobune-slider-sp-centered-slides-prev {
        left: 0;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider.hacobune-slider-mb .hacobune-slider-sp-centered-slides-next {
        right: 0;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button {
        display: block;
        overflow: hidden;
        top: calc(50% - 25px);
        margin: 0;
        width: 33px;
        height: 63px;
        background: rgba(255, 255, 255, 0) !important;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::before,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::before {
        display: block;
        content: '';
        width: 12px;
        height: 12px;
        border-top: solid 3px #76161B;
        border-right: solid 3px #76161B;
        position: absolute;
        left: 13px;
        top: calc(50% - 5px);
        z-index: 10;
        transform: rotate(45deg);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::after,
    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::after {
        display: block;
        content: '';
        border-radius: 100%;
        width: 53px;
        height: 53px;
        background: rgba(255, 255, 255, 0.9);
        box-shadow: 0 0 8px rgb(0 0 0 / 15%);
        position: absolute;
        top: 5px;
        z-index: 5;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::before {
        left: 9px;
        transform: rotate(-135deg);
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-prev .icon-slider.hacobune-icon-button::after {
        right: 5px;
    }

    .dp25th .hacobune-gallery .hacobune-containers-product-tile .hacobune-product-tile-thumbnail-slider .hacobune-slider-next .icon-slider.hacobune-icon-button::after {
        left: 5px;
    }

    .dp25th .dp25th_head {
        margin-top: 3.2rem;
        text-align: center;
        margin-inline: auto;
        padding: 0 1.6rem;
    }

    .dp25th .dp25th_copy {
        position: relative;
        display: inline-block;
        color: #76161B;
        font-weight: 500;
        font-size: 2rem;
        line-height: 1.7;
        text-align: center;
    }

    .dp25th .dp25th_copy::before,
    .dp25th .dp25th_copy::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 1.6rem;
        width: 4.2rem;
        height: 7.2rem;
    }

    .dp25th .dp25th_copy::before {
        left: -6.2rem;
        background: url(../head-icon1.png) center / contain no-repeat;
    }

    .dp25th .dp25th_copy::after {
        right: -6rem;
        background: url(../head-icon2.png) center / contain no-repeat;
    }

    .dp25th .dp25th_text {
        text-align: center;
        margin-top: 1.6rem;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.8;
    }

    .dp25th .dp25th_anchors {
        gap: .8rem;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-top: 3rem;
        margin-inline: auto;
        padding: 0 1.6rem;
    }

    .dp25th .dp25th_anchor a {
        display: block;
        box-shadow: 2px 2px 0px 0px #CCCCCC;
    }

    .dp25th-text {
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.62;
        margin-top: 1.6rem;
        text-align: center;
    }

    .dp25th .dp25th-title {
        text-align: center;
    }

    .dp25th .dp25th-title>span {
        display: block;
        line-height: 1;
        font-size: 1.2rem;
        font-weight: 500;
        color: #76161B;
    }

    .dp25th .dp25th-campaign .dp25th-title>img {
        width: 15.8rem;
    }

    .dp25th .dp25th-campaign .dp25th-title>span {
        margin-top: .3rem;
    }

    .dp25th .dp25th-recommend .dp25th-title>img {
        width: 25.6rem;
    }

    .dp25th .dp25th-recommend .dp25th-title>span {
        margin-top: .7rem;
    }

    .dp25th .dp25th-recommend .dp25th-recipe .dp25th-title>img {
        width: 10.1rem;
    }

    .dp25th .dp25th-recommend .dp25th-recipe .dp25th-title>span {
        margin-top: 0rem;
    }

    .dp25th .dp25th-recommend .dp25th-item .dp25th-title>img {
        width: 7.8rem;
    }

    .dp25th .dp25th-recommend .dp25th-item .dp25th-title>span {
        margin-top: 0rem;
    }

    .dp25th .dp25th-history .dp25th-title>img {
        width: 12.9rem;
    }

    .dp25th .dp25th-history .dp25th-title>span {
        margin-top: 0rem;
        color: #B5A485;
    }

    .dp25th .dp25th-message .dp25th-title>img {
        width: 14.5rem;
    }

    .dp25th .dp25th-message .dp25th-title>span {
        margin-top: 0rem;
    }

    .dp25th .dp25th-campaign {
        padding: 4rem 0 5rem;
        margin-top: 3.2rem;
        overflow: hidden;
        position: relative;
        z-index: 10;
        background: #F5EEE1 url(../campaign-mask.png) center / cover no-repeat;
    }

    .dp25th .dp25th-campaign::before {
        content: "";
        background: url(../campaign-top-bg-sp.png) center top / contain no-repeat;
        width: 100%;
        height: 7.2rem;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .dp25th .dp25th-campaign::after {
        content: "";
        background: url(../campaign-bottom-bg-sp.png) center top / contain no-repeat;
        width: 100%;
        height: 6.3rem;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .dp25th .dp25th-campaign_inner {
        position: relative;
        z-index: 20;
    }

    .dp25th .dp25th-campaign_items {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        margin-top: 1.6rem;
        gap: 2.4rem;
    }

    .dp25th .dp25th-campaign_item {
        padding: 0rem 1.6rem;
    }

    .dp25th .dp25th-campaign_itemInner {
        display: flex;
        flex-direction: column;
    }

    .dp25th .dp25th-campaign_item:nth-of-type(odd) .dp25th-campaign_itemInner {
        margin-right: -1.6rem;
        padding: 2.4rem 3.2rem 4rem 1.6rem;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.3) 100%);
    }

    .dp25th .dp25th-campaign_item:nth-of-type(even) .dp25th-campaign_itemInner {
        margin-left: -1.6rem;
        padding: 1.6rem 1.6rem 4rem 3.2rem;
        background: linear-gradient(270deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.3) 100%);
    }

    .dp25th .dp25th-campaign_body {
        margin-top: 1.6rem;
        text-align: center;
        display: contents;
    }

    .dp25th .dp25th-campaign_title {
        order: 30;
        margin-top: 1.6rem;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.45;
    }

    .dp25th-campaign_img {
        order: 20;
        margin-top: 1.2rem;
    }

    .dp25th .dp25th-campaign_name {
        background: url(../campaign-ribon.png) center / contain no-repeat;
        color: #fff;
        text-shadow: 0 0 6px #92732C;
        padding: 0.5rem 0 2.1rem;
        font-size: 2rem;
        text-align: center;
        order: 10;
    }

    .dp25th .dp25th-campaign_text {
        order: 40;
        margin-top: 1.6rem;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.6;
    }

    .dp25th .dp25th-campaign_date {
        order: 50;
        min-height: 3.2rem;
        display: inline-flex;
        align-items: center;
        font-size: 1.4rem;
        background-color: #fff;
        padding: 0 .75rem;
        margin: 2.4rem auto 0;
        width: max-content;
        border: 1px solid #707070;
    }

    .dp25th .dp25th-campaign_sub {
        order: 60;
        margin-top: 0.8rem;
        font-size: 1.4rem;
    }

    .dp25th .dp25th-campaign_other {
        order: 70;
        margin-top: 2.4rem;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: .8rem;
    }

    .dp25th .dp25th-campaign_btn {
        width: 26.4rem;
        margin-inline: auto;
        min-height: 4.4rem;
        background-color: #76161B;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 1.6rem;
        text-decoration: none;
    }

    .dp25th .dp25th-campaign_btn.sns-instagram::before {
        content: "";
        display: inline-block;
        margin-right: 0.6rem;
        width: 2rem;
        height: 2rem;
        background: url(../instagram_w.png) center / contain no-repeat;
    }

    .dp25th .dp25th-campaign_btn.sns-x::before {
        content: "";
        display: inline-block;
        margin-right: 0.6rem;
        width: 1.7rem;
        height: 1.7rem;
        background: url(../x_w.png) center / contain no-repeat;
    }

    .dp25th .dp25th-campaign_btn::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1.2rem;
        width: 0.6rem;
        height: 1rem;
        background: url(../btn-arrow.png) center / contain no-repeat;
    }

    .dp25th .dp25th-campaign_dots {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.6rem;
        margin-top: 1.6rem;
    }

    .dp25th .dp25th-campaign_dot {
        width: 6px;
        height: 6px;
        border-radius: 9999px;
        background-color: #76161B;
    }

    .dp25th .dp25th-campaign_dot:nth-of-type(1) {
        opacity: 0.25;
    }

    .dp25th .dp25th-campaign_dot:nth-of-type(2) {
        opacity: 0.5;
    }

    .dp25th .dp25th-campaign_start {
        margin-top: 1rem;
        font-size: 1.8rem;
        line-height: 1.4;
        text-align: center;
        color: #76161B;
    }

    .dp25th .dp25th-campaign_box {
        margin-top: 1.5rem;
        padding: 1rem 0rem;
        margin-inline: auto;
        background: url(../commingsoon-bg-sp.png) center top / contain no-repeat;
    }

    .dp25th .dp25th-campaign_comming {
        width: 14.1rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-campaign_commingDate {
        font-size: 1.6rem;
        text-align: center;
    }

    .dp25th .dp25th-recommend {
        padding: 4rem 0 3.2rem;
        background: #F7F7F7 url(../recommend-mask-sp.png) center / cover no-repeat;
    }

    .dp25th-recipe {
        background-color: #fff;
        padding: 2.4rem 0rem 0rem;
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-item {
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-item_inner {}

    .dp25th .dp25th-item_contents {
        margin-top: 2.6rem;
        width: 37.5rem;
        display: flex;
        gap: 1.2rem;
        overflow-x: scroll;
        padding: 2.5rem 1.2rem 1.6rem;
    }

    .dp25th .dp25th-item_content {
        flex-shrink: 0;
        width: 33.6rem;
        padding: 4.4rem 2.4rem 2.2rem 2.4rem;
        position: relative;
        background-color: #fff;
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        align-content: start;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
    }

    .dp25th .dp25th-item_content::before {
        content: "";
        display: inline-block;
        background: url(../item-mark1.png) center top / contain no-repeat;
        width: 2.4rem;
        height: 2.4rem;
        position: absolute;
        top: .4rem;
        left: .4rem;
    }

    .dp25th .dp25th-item_content::after {
        content: "";
        display: inline-block;
        background: url(../item-mark2.png) center top / contain no-repeat;
        width: 2.4rem;
        height: 2.4rem;
        position: absolute;
        bottom: .4rem;
        right: .4rem;
    }

    .dp25th .dp25th-item_recommend {
        position: absolute;
        top: -2.4rem;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        gap: .8rem;
        background-color: rgba(224, 202, 153, 0.7);
        padding: 0 1.5rem;
        min-height: 4.8rem;
        width: max-content;
    }

    .dp25th .dp25th-item_recommend_copy {
        font-size: 1.4rem;
    }

    .dp25th .dp25th-item_recommend_ico {
        width: 4rem;
    }

    .dp25th .dp25th-item_recommend_name {
        font-weight: bold;
    }

    .dp25th .dp25th-item_img {
        width: 8rem;
        margin-right: 1.2rem;
    }

    .dp25th .dp25th-item_body {
        display: contents;
    }

    .dp25th .dp25th-item_title {
        width: calc((100% - 8rem) - 1.2rem);
        font-size: 1.6rem;
        font-weight: bold;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-item_text {
        margin-top: 1.2rem;
        width: 100%;
        font-size: 1.4rem;
        margin-top: 1.6rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif
    }

    .dp25th .dp25th-item_other {
        width: max-content;
        margin-inline: auto;
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-item_btn {
        width: 20rem;
        min-height: 4rem;
        background-color: #76161B;
        position: relative;
        display: grid;
        place-items: center;
        color: #fff;
        font-size: 1.4rem;
        text-decoration: none;
    }

    .dp25th .dp25th-item_btn::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 1.2rem;
        width: 0.6rem;
        height: 1rem;
        background: url(../btn-arrow.png) center / contain no-repeat;
    }

    .dp25th .dp25th-history {
        padding: 4rem 0 7.6rem;
        background: #F5EEE1 url(../history-mask-sp.png) center / cover no-repeat;
    }

    .dp25th .dp25th-history_inner {
        padding: 0 1.6rem;
    }

    .dp25th .dp25th-history_items {
        margin-top: 3.2rem;
        position: relative;
    }

    .dp25th .dp25th-history_items::before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 6.4rem;
        width: .3rem;
        height: 73rem;
        background: linear-gradient(125deg, rgba(181, 164, 133, 1) 0%, rgba(181, 164, 133, 1) 80%, rgba(245, 238, 225, 1) 100%);
    }

    .dp25th .dp25th-history_item {
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(2) {
        margin-top: 2.3rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(3) {
        margin-top: 3.9rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(4) {
        margin-top: 2.4rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(5) {
        margin-top: 4rem;
    }

    .dp25th .dp25th-history_item:nth-of-type(6) {
        margin-top: 3.8rem;
    }

    .dp25th .dp25th-history_header {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem 0;
        padding-left: 3.6rem;
        padding-bottom: 0.8rem;
        border-bottom: 1px solid #76161B;
        position: relative;
    }

    .dp25th .dp25th-history_header::before {
        content: "";
        display: inline-block;
        position: absolute;
        bottom: -.4rem;
        left: -.2rem;
        width: .8rem;
        height: .8rem;
        background-color: #76161B;
        border-radius: 999px;
    }

    .dp25th .dp25th-history_date {
        display: flex;
        align-items: start;
        margin-right: 2.5rem;
    }

    .dp25th .dp25th-history_year {
        width: 6.5rem;
        position: relative;
        top: .7rem;
        left: 0;
    }

    .dp25th .dp25th-history_item:nth-of-type(6) .dp25th-history_year {
        top: 0;
        width: 7.4rem;
    }

    .dp25th .dp25th-history_copy {
        font-size: 1.8rem;
        font-weight: bold;
        color: #76161B;
    }

    .dp25th .dp25th-history_month {
        font-size: 1.8rem;
        font-weight: bold;
        color: #76161B;
    }

    .dp25th .dp25th-history_text {
        padding-left: 3.6rem;
        font-size: 1.4rem;
        margin-top: 0.8rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
    }

    .dp25th .dp25th-message {
        padding: 4rem 0 4.8rem;
        background-color: #F7F7F7;
    }

    .dp25th .dp25th-message_inner {
        padding: 0 3.2rem;
    }

    .dp25th .dp25th-message_mv {
        margin-top: 1.6rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-message_items {
        margin-inline: auto;
        margin-top: 3.2rem;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 2.4rem;
    }

    .dp25th .dp25th-message_item {
        display: flex;
        align-items: start;
        gap: .8rem;
    }

    .dp25th .dp25th-message_img {
        width: 6rem;
        flex-shrink: 0;
    }

    .dp25th .dp25th-message_ico {
        width: 4.8rem;
        margin-inline: auto;
    }

    .dp25th .dp25th-message_sub {
        margin-top: 0.4rem;
        font-size: 1.2rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
        text-align: center;
    }

    .dp25th .dp25th-message_text {
        font-size: 1.4rem;
        font-family: 'Noto Sans Japanese', -apple-system, blinkMacSystemFont, 'Segoe UI', "游ゴシック Medium", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, sans-serif;
    }

    .dp25th .dp25th-message_title-line {
        position: relative;
    }

    .dp25th .dp25th-message_title-line::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 55%;
        width: 3.3rem;
        height: 1px;
        background-color: #333333;
        right: -3.9rem;
    }
}