/** Shopify CDN: Minification failed

Line 353:0 Unexpected "}"

**/
@charset "utf-8";
/* CSS Document */

body {
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
    line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
    line-height: 1.5;
}

img {
    image-rendering: -webkit-optimize-contrast;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.btn_type01 {
    display: inline-block;
    position: relative;
}

.btn_type01::after {
    content: "";
    border-top: solid 1px;
    border-right: solid 1px;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

.btn_type01::before {
    content: "";
    border-bottom: 1px solid;
    display: block;
    position: absolute;
    bottom: -5px;
    left: 0;
    right: 0;
}

.btn_type01 span {
    display: inline-block;
    vertical-align: middle;
}

.template-index .shopify-section:first-of-type .content-indent {
    margin-top: 0;
}


.slideshow .slick-dots {
    bottom: 10px;
    text-align: right;
    left: 49%;
    transform: translateX(-50%);
}

.slick-dots li {
    height: 4px;
    width: 20px;
    margin: 0 4px;
}

.slick-dots li button {
    height: 4px;
    width: 20px;
    border-radius: 0%;
}

.slideshow .slick-dots li button {
    background-color: #fff;
    padding: 0;
}

.slideshow .slick-dots li.slick-active button {
    background-color: #000;
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    opacity: .7;
    background-color: #000;
}

.hero .mega-title {
    margin-bottom: 30px;
}

.hero .mega-subtitle {
    line-height: 2;
    letter-spacing: 1px;
}


/** PC **/
@media only screen and (min-width: 769px) {

    .tabs-listing .collection-tabs {
        border-bottom: 1px solid #666666;
        padding-bottom: 20px;
    }

}

/** SP **/
@media only screen and (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .custom-block .custom__item .custom__image {
        margin: 0 auto 15px;
        display: block;
    }

    .tab-container .tab-content {
        display: block !important;
    }

    .acor-ttl.active a {
        color: #fff;
        background-color: #000;
    }

    .acor-ttl a i {
        display: none;
    }

    .grid-view-item .button-set .ad {
        font-size: 13px;
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%) translateX(-0%);
        transform: translateY(-50%) translateX(-0%);
    }

}

/* --------------------------------------------------------------------
/* コレクション
-------------------------------------------------------------------- */
.logoList {}

.logoList ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.logoList ul li {
    margin: 15px 0;
    width: 20%;
}

.logoList ul li a {
    width: 100%;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.logoList ul li .iconImg {
    margin-right: 10px;
    width: 45px;
}

.logoList ul li .iconImg img {}

.logoList ul li .span {}



/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {
    .logoList {}

    .logoList ul {}

    .logoList ul li {
        width: 50%;
    }

    .logoList ul li a {
        font-size: 3.4vmin;
    }

    .logoList ul li img {}


}


/* --------------------------------------------------------------------
/* お知らせ
-------------------------------------------------------------------- */
.news-listWrap {}

.news-listWrap .list {}

.news-listWrap .list li {
    padding: 10px 0;
    margin: 10px 0;
    border-bottom: 1px solid #cccccc;
}

.news-listWrap .list li:first-child {
    border-top: 1px solid #ccc;
}

.news-listWrap .list li a {}

.news-listWrap .list li dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.news-listWrap .list li dl dt,
.news-listWrap .list li dl dd {}

.news-listWrap .list li dl dt.imgArea {
    width: 14.53%;
    text-align: center;
}

.news-listWrap .list li dl dt.imgArea img {}

.news-listWrap .list li dl dd.txtArea {
    width: 83%;
    margin-left: 2%;
}

.news-listWrap .list li dl dd.txtArea .news-list-date {
    border: 1px solid;
    padding: 0px 10px;
    font-size: 14px;
}

.news-listWrap .list li dl dd.txtArea .news-list-category {}

.news-listWrap .list li dl dd.txtArea .news-list-title {
    font-size: 18px;
    margin: 15px 0 10px;
}

.news-listWrap .list li dl dd.txtArea .news-list-con {}

.news-listWrap .btnArea {
    text-align: right;
}


/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {

    .news-listWrap {}

    .news-listWrap .list {}

    .news-listWrap .list li {}

    .news-listWrap .list li:first-child {}

    .news-listWrap .list li a {}

    .news-listWrap .list li dl {}

    .news-listWrap .list li dl dt,
    .news-listWrap .list li dl dd {}

    .news-listWrap .list li dl dt.imgArea {
        width: 30%;
    }

    .news-listWrap .list li dl dt.imgArea img {}

    .news-listWrap .list li dl dd.txtArea {
        width: 66%;
    }

    .news-listWrap .list li dl dd.txtArea .news-list-date {
        font-size: 3vmin;
    }

    .news-listWrap .list li dl dd.txtArea .news-list-category {}

    .news-listWrap .list li dl dd.txtArea .news-list-title {
        font-size: 4vmin;
        margin: 3vmin 0;
    }

    .news-listWrap .list li dl dd.txtArea .news-list-con {
        display: none;
    }

    .news-listWrap .btnArea {}

}

}


/* --------------------------------------------------------------------
/* footer
-------------------------------------------------------------------- */
.footreArea {}

.footreArea .souryou {
    border-bottom: 1px solid #cccccc;
    border-top: 1px solid #cccccc;
    padding: 20px;
    text-align: center;
    margin: 50px 0;
}

.footreArea .souryou .txt {
    font-size: 16px;
}

.footreArea .souryou .txt .iconImg {
    display: inline-block;
    vertical-align: middle;
    margin-left: 15px;
}

.footreArea .block01 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.footreArea .block01 .box {}

.footreArea .block01 .box01 {
    border-right: 1px solid #ccc;
    margin-right: 3%;
    padding-right: 3%;
    width: 78%;
}

.footreArea .block01 .box02 {
    width: 20%;
}

.footreArea .block01 .box h3 {
    text-align: center;
    margin-bottom: 30px;
}

.footreArea .block01 .box .flex {
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.footreArea .block01 .box01 .info {
    width: 33%;
}

.footreArea .block01 .box .info {}

.footreArea .block01 .box .info dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.footreArea .block01 .box .info dl dt,
.footreArea .block01 .box .info dl dd {}

.footreArea .block01 .box .info dl dt {
    width: 80px;
}

.footreArea .block01 .box .info dl dt img {}

.footreArea .block01 .box .info dl dd {
    width: 57.14%;
    margin-left: 2%;
    flex: 1;
}

.footreArea .block01 .box .info dl dd .caution {
    display: block;
}

.footreArea .block01 .box .mapImg {}

.footreArea .block01 .box .mapImg img {}

.footreArea .mailMagazine {
    margin: 50px 0;
    padding: 40px 0;
    background-color: #f9f9f9;
}

.footreArea .mailMagazine .wrap-newsletter {
    max-width: 550px;
    width: 100%;
    margin: 0 auto;
}

.footreArea .productList {
    margin: 30px 0;
}

.footreArea .productList dl {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footreArea .productList dl dt,
.footreArea .productList dl dd {}

.footreArea .productList dl dt {}

.footreArea .productList dl dd {}

.footreArea .productList dl dd .list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footreArea .productList dl dd .list li {
    margin: 0 10px;
}

.footreArea .productList dl dd .list li a {
    border: 1px solid #ccc;
    padding: 10px 15px;
    min-width: 120px;
    display: inline-block;
    text-align: center;
}

.footreArea .pageList {
    border-bottom: 1px solid #cccccc;
    border-top: 1px solid #cccccc;
    padding: 20px 0;
    text-align: center;
    margin: 30px 0;
}

.footreArea .pageList .list {
    margin: 15px 0;
}

.footreArea .pageList .list li {
    display: inline-block;
    margin: 0 20px;
}

.footreArea .pageList .list li a {}

.footreArea .footBottomWrap {
    margin: 30px 0;
}

.footreArea .footBottomWrap .footBottom {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footreArea .footBottomWrap .footBottom .box01 {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footreArea .footBottomWrap .footBottom .box01 .footLogo {
    margin-right: 30px;
    padding-right: 30px;
    border-right: 1px solid #ccc;
}

.footreArea .footBottomWrap .footBottom .box01 .footLogo img {
    width: 70px;
}

.footreArea .footBottomWrap .footBottom .box01 .info01 {
    margin-right: 30px;
    padding-right: 30px;
    border-right: 1px solid #ccc;
}

.footreArea .footBottomWrap .footBottom .box01 .info01 .name {
    font-size: 18px;
    margin-bottom: 5px;
}

.footreArea .footBottomWrap .footBottom .box01 .info02 {}

.footreArea .footBottomWrap .footBottom .box02 {}

.footreArea .footBottomWrap .footBottom .box02 .snsList {}

.footreArea .footBottomWrap .footBottom .box02 .snsList li {
    display: inline-block;
    margin-left: 15px;
}

.footreArea .footBottomWrap .footBottom .box02 .snsList li a {}

.footreArea .footBottomWrap .footBottom .box02 .snsList li a i {
    font-size: 33px;
    color: #333;
}

.footreArea .input-group__btn .btn {
    margin-left: 8px;
}



/** PC **/
@media only screen and (min-width: 769px) {}

/** TAB **/
@media only screen and (max-width: 980px) {
    .footreArea .block01 .box .info dl dt {
        width: 30%;
    }

    .footreArea .productList dl {
        display: block;

    }

    .footreArea .productList dl dt {
        margin-bottom: 20px;
        text-align: center;
    }

    .footreArea .productList dl dd .list li {
        margin: 0 10px;
        width: 30.5%;
        margin-bottom: 10px;
    }

    .footreArea .productList dl dd .list li a {
        display: block;
    }
}

/** SP **/
@media only screen and (max-width: 768px) {

    .footreArea {}

    .footreArea .souryou {}

    .footreArea .souryou .txt {
        font-size: 3.4vmin;
    }

    .footreArea .souryou .txt .icon {}

    .footreArea .block01 {
        display: block;
    }

    .footreArea .block01 .box {
        width: 100%;
    }

    .footreArea .block01 .box01 {
        border-right: none;
        margin-right: 0;
        padding-right: 0;
        margin-bottom: 8vmin;
    }

    .footreArea .block01 .box02 {}

    .footreArea .block01 .box h3 {}

    .footreArea .block01 .box .flex {
        display: block;
    }

    .footreArea .block01 .box .info {
        width: 80%;
        margin: auto;
    }

    .footreArea .block01 .box .info dl {}

    .footreArea .block01 .box .info dl dt,
    .footreArea .block01 .box .info dl dd {}

    .footreArea .block01 .box .info dl dt {}

    .footreArea .block01 .box .info dl dt img {}

    .footreArea .block01 .box .info dl dd .caution {}

    .footreArea .block01 .box .mapImg {}

    .footreArea .block01 .box .mapImg img {}

    .footreArea .mailMagazine {
        margin: 7vmin 0;
    }

    .footreArea .mailMagazine .wrap-newsletter {}

    .footreArea .productList {
        margin: 7vmin 0;
    }

    .footreArea .productList dl {
        display: block;
        margin: 0;
    }

    .footreArea .productList dl dt,
    .footreArea .productList dl dd {}

    .footreArea .productList dl dt {
        text-align: center;
        margin-bottom: 4vmin;
    }

    .footreArea .productList dl dd {
        width: 100%;
        margin: 0;
    }

    .footreArea .productList dl dd .list {}

    .footreArea .productList dl dd .list li {
        width: 31%;
        margin: 0 1% 2%;
    }

    .footreArea .productList dl dd .list li a {
        width: 100%;
        min-width: auto;
    }

    .footreArea .pageList {
        margin: 7vmin 0;
    }

    .footreArea .pageList .list {
        margin: 0;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .footreArea .pageList .list li {
        margin: 0;
        width: 50%;
        text-align: left;
    }

    .footreArea .pageList .list li a {
        padding: 3vmin 0;
        display: block;
    }

    .footreArea .footBottomWrap {
        margin: 7vmin 0;
    }

    .footreArea .footBottomWrap .footBottom {
        display: block;
    }

    .footreArea .footBottomWrap .footBottom .box01 {
        display: block;
        text-align: center;
        margin-bottom: 6vmin;
    }

    .footreArea .footBottomWrap .footBottom .box01 .footLogo {
        margin-right: 0;
        padding-right: 0;
        border-right: none;
        margin-bottom: 3vmin;
    }

    .footreArea .footBottomWrap .footBottom .box01 .footLogo img {}

    .footreArea .footBottomWrap .footBottom .box01 .info01 {
        margin-right: 0;
        padding-right: 0;
        border-right: none;
        margin-bottom: 3vmin;
    }

    .footreArea .footBottomWrap .footBottom .box01 .info01 .name {}

    .footreArea .footBottomWrap .footBottom .box01 .info02 {}

    .footreArea .footBottomWrap .footBottom .box02 {
        text-align: center;
    }

    .footreArea .footBottomWrap .footBottom .box02 .snsList {}

    .footreArea .footBottomWrap .footBottom .box02 .snsList li {
        margin: 0 3vmin;
    }

    .footreArea .footBottomWrap .footBottom .box02 .snsList li a {}

    .footreArea .footBottomWrap .footBottom .box02 .snsList li a i {
        font-size: 9vmin;
    }

}

/* --------------------------------------------------------------------
/* メガメニュー
-------------------------------------------------------------------- */
#siteNav {}

#siteNav .megamenu {}

#siteNav .megamenu .megamenu.style3 {}

#siteNav .megamenu .megamenu.style3 .grid.mmWrapper {}

#siteNav .megamenu .megamenu.style3 .grid.mmWrapper .grid__item {
    display: inline-block;
    vertical-align: top;
    float: none;
}

#siteNav .megamenu .megamenu.style3 .grid.mmWrapper .grid__item span.title {
    border-bottom: 1px solid;
    color: #666;
    font-size: 16px;
    font-weight: normal;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

#siteNav div.megamenu li.lvl-1 li a.no_before:hover:before {
    content: none;
}

/** PC **/
@media only screen and (min-width: 769px) {

    #siteNav .megamenu .megamenu.style3 .grid.mmWrapper .grid__item:nth-child(6) {
        display: none;
    }

    #siteNav .megamenu .megamenu.style3 .grid.mmWrapper .grid__item:nth-child(7) {
        margin-top: -40px;
    }

}

/** SP **/
@media only screen and (max-width: 768px) {

    #MobileNav li.megamenu ul.megaList {
        display: block;
    }

    #MobileNav li.megamenu ul.megaList ul {
        background-color: #f2f2f2;
    }

    #MobileNav li li a .iconImg {
        display: inline-block;
        vertical-align: middle;
        max-width: 30px;
        margin-right: 10px;
    }

    #MobileNav li li a .iconImg img {}

    #MobileNav li li a {
        padding-left: 10px;
        position: relative;
    }

    #MobileNav li a .ad {
        top: 50%;
        -webkit-transform: translateY(-50%) translateX(-0%);
        transform: translateY(-50%) translateX(-0%);
    }

}


/* --------------------------------------------------------------------
/* 商品詳細
-------------------------------------------------------------------- */

.productTxtArea {}

.productTxtArea .productTxt {
    margin-bottom: 10px;
    line-height: 1.8;
}

.productTxtArea .product-info {
    margin-bottom: 30px;
}

.productTxtArea .product-info .product-tags {}

.productTxtArea .product-info .product-tags a {
    color: #000;
    background-color: #eeeeee;
    padding: 2px 5px;
    display: inline-block;
    margin-top: 5px;
    margin-right: 5px;
}

.productTxtArea .productTable {
    margin-bottom: 20px;
}

.productTxtArea .productTable table {}

.productTxtArea .productTable table tr {}

.productTxtArea .productTable table tr th,
.productTxtArea .productTable table tr td {
    font-family: Poppins, sans-serif;
    padding: 14px;
    font-size: 12px;
}

.productTxtArea .productTable table tr th {
    background-color: #f5f5f5;
    width: 110px;
}

.productTxtArea .productTable table tr td {}

.productInsta #sh_instagram_feed {
    margin-top: 30px;
}

.productInsta #sh_instagram_feed div:nth-child(1) {
    text-align: left !important;
    font-size: 20px !important;
}

.productInsta #sh_instagram_feed div:nth-child(1) img {
    height: 28px !important;
    padding: 0 !important;
    margin-right: 10px;
}

.productInsta #sh_instagram_feed div:nth-child(1) span {}

.productInsta #sh_instagram_feed + div {}

.productInsta #sh_instagram_feed + div {}

.productInsta #sh_instagram_feed .sh_grid {
    column-count: 3;
    margin: 10px 0;
    width: 100%;
}

.productInsta #sh_instagram_feed .sh_grid .sh_grid-item {
    text-align: center !important;
}

.productInsta #sh_instagram_feed .sh_grid .sh_grid-item .js-modal-open {
    text-align: center !important;
}

.productInsta #sh_instagram_feed .sh_grid .sh_grid-item img {
    height: auto !important;
    max-height: 126px;
    object-fit: cover;
    width: 100%;
}

.product-single__price .product__policies {
    margin: 0;
    margin-top: 5px;
}

/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {
    .productTxtArea {
        font-size: 3.4vmin;
    }

    .productTxtArea .productTxt {}

    .productTxtArea .product-info {}

    .productTxtArea .product-info .product-tags {}

    .productTxtArea .product-info .product-tags a {}

    .productTxtArea .productTable {}

    .productTxtArea .productTable table {}

    .productTxtArea .productTable table tr {}

    .productTxtArea .productTable table tr th,
    .productTxtArea .productTable table tr td {
        font-size: 3.4vmin;
    }

    .productTxtArea .productTable table tr th {}

    .productTxtArea .productTable table tr td {}

    .stickyCart .flex {
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .stickyCart .flex > * {
        width: auto;
        flex: auto;
        margin: 1vmin 0;
    }

    .stickyCart .qtyField {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

}

/*商品詳細 冷蔵配送注意書き*/
.cool-delivery {
    background-color: #e6f3fb;
    /* 青背景色 */
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.cool-delivery-header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.cool-icon {
    width: 45px;
    /* アイコンサイズ */
    height: 45px;
    margin-right: 8px;
}

.cool-title {
    font-weight: bold;
    font-size: 1.2em;
    color: #333;
}

.cool-text {
    font-size: 0.85em;
    color: #333;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .cool-title {
        font-size: 1.1em;
    }

    .cool-text {
        font-size: 0.85em;
    }
}

/*商品詳細 冷蔵配送注意書き ここまで*/


/* --------------------------------------------------------------------
/* 2カラムページ
-------------------------------------------------------------------- */
.template-page .main-col.right {
    float: right;
}


/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {}

/* --------------------------------------------------------------------
/* お問い合わせ
-------------------------------------------------------------------- */
.contactPageWrap {}

.contactPageWrap input,
.contactPageWrap select,
.contactPageWrap textarea {
    margin-bottom: 30px;
    padding: 15px 20px;
}


/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {}

/* --------------------------------------------------------------------
/* コレクション
-------------------------------------------------------------------- */

/** PC **/
@media only screen and (min-width: 769px) {}

/** SP **/
@media only screen and (max-width: 768px) {}



/* --------------------------------------------------------------------
/* ページネーション
-------------------------------------------------------------------- */
.pagination li:not(:first-child) {
    margin-left: 16px;
}

.pagination li a {
    border-radius: 50%;
    background: #DFDFDF;
    color: #1C1C1C;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 2px;
}

.pagination li.active a {
    background: #000000;
    color: #fff;
}

.pagination li a .ad-caret-left {
    margin-right: 2px;
}

.pagination li a .ad-caret-right {
    margin-left: 2px;
}

/* --------------------------------------------------------------------
/* BSS LOGIN
-------------------------------------------------------------------- */
#bsscommerce-password-submit {
    margin: 32px auto;
}

#bsscommerce-password {
    margin: 0 !important;
}

.bss-password-form {
    margin-top: 30px
}

@media only screen and (max-width: 400px) {
    .bss-password-form {
        max-width: 100% !important;
        width: 100% !important
    }
}

/* --------------------------------------------------------------------
/* アイコン付きテキストリンク
-------------------------------------------------------------------- */
.custom-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #1a73e8;
    line-height: 1.5;
    /* 行間はそのまま適用 */
    position: relative;
    padding: 0 !important;
    /* パディングの完全リセット */
}

/* SVGアイコンのスタイル */
.custom-link svg {
    fill: currentColor;
    /* テキストの色に同期 */
    width: 16px;
    /* アイコンの幅 */
    height: 16px;
    /* アイコンの高さ */
}

/* アンダーラインの表示 */
.custom-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    /* 下線の太さ */
    background-color: currentColor;
    /* テキストの色に同期 */
    transition: opacity 0.2s ease-in-out;
}

/* ホバー時のアンダーラインを非表示 */
.custom-link:hover::after {
    opacity: 0;
}

/* PCとSPで一貫した表示を維持 */
@media (min-width: 768px) {
    a.custom-link {
        padding: 0 !important;
        /* PCでもリセットを適用 */
    }
}

/* --------------------------------------------------------------------
/* ヘッダー最上部のイベントバナー
-------------------------------------------------------------------- */
/* 全体の調整 */
.event-banner {
    position: relative;
    width: 100%;
    margin: 0;
    /* 上下の余白を削除 */
    padding: 0;
    text-align: center;
    background-color: #000000;
    /* 背景を黒に設定 */
    overflow: hidden;
    /* バナーのはみ出しを隠す */
}

.event-banner img {
    display: none;
    /* 初期状態で非表示 */
}

/* PC用バナー（横幅768px以上で表示） */
@media screen and (min-width: 768px) {
    .event-banner {
        height: auto !important;
        /* 親要素の高さを自動に設定 */
    }

    .event-banner .banner-pc {
        display: block !important;
        /* PCバナーを表示 */
        width: 100% !important;
        /* 横幅を画面いっぱいに */
        height: 50% !important;
        /* 縦サイズを半分に */
        object-fit: contain !important;
        /* 必要に応じて表示範囲調整 */
    }

    .event-banner .banner-sp {
        display: none !important;
        /* SPバナーは非表示 */
    }
}

/* SP用バナー（横幅767px以下で表示） */
@media screen and (max-width: 767px) {
    .event-banner .banner-pc {
        display: none;
        /* PCバナーは非表示 */
    }

    .event-banner .banner-sp {
        display: block;
        /* SPバナーを表示 */
        width: 100%;
        /* 横幅を画面いっぱいに */
        height: auto;
        /* 縦横比を維持 */
        margin: 0;
        /* 上下の隙間を完全に解消 */
    }
}

/* 邪魔な余白を削除 */
.top-header-wrapper .top-header {
    padding: 0 !important;
    /* 上下の余白を削除 */
}

.top-header-wrapper .header-txt {
    padding: 0 !important;
    /* 上下の余白を削除 */
}

/* SP用にバナー下に余白を追加 */
@media screen and (max-width: 767px) {
    .event-banner {
        margin-bottom: 10px;
        /* SPでのバナーとロゴの間に余白を追加 */
    }
}

/* --------------------------------------------------------------------
/* Font Awesome 追加CSS
-------------------------------------------------------------------- */

/* アイコンの右側に5pxの余白を作る */
i[class^="fa-"] {
    margin-right: 5px;
}


/* --------------------------------------------------------------------
/* 四角に数字のアイコン
-------------------------------------------------------------------- */
.section-heading {
    display: flex;
    /* アイコンと見出しを横並びにする */
    align-items: center;
    /* 垂直方向の中央揃え */
    margin-bottom: 20px;
    /* 見出しごとの余白 */
}

.square-number {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    /* 正方形の幅 */
    height: 30px;
    /* 正方形の高さ */
    background-color: #333;
    /* 背景色 */
    color: #fff;
    /* 数字の色 */
    font-weight: bold;
    font-size: 18px;
    /* 数字のサイズ */
    border-radius: 4px;
    /* 角を少し丸める */
    margin-right: 10px;
    /* アイコンとテキストの間の余白 */
    line-height: 1;
}


/* --------------------------------------------------------------------
/* 商品ページ内の2列ボックス
-------------------------------------------------------------------- */
.product-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 20px 0;
}

.product-box {
    padding: 10px;
    text-align: left;
}

.product-box img {
    max-width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}

.product-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-info {
    margin-bottom: 8px;
}

.product-name {
    font-size: 16px;
    font-weight: bold;
    margin: 0;
}

.product-description {
    color: #333;
    margin: 0;
}

.product-price {
    font-size: 14px;
    color: #000;
    font-weight: bold;
    text-align: right;
    margin: 0;
}

/* スマホ・タブレットでも2列表示を維持 */
@media (max-width: 768px) {
    .product-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --------------------------------------------------------------------
/* 福袋 商品ページ
-------------------------------------------------------------------- */
/* 全体セクション */
.content-section {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/* 商品リスト */
.content-product-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 商品アイテム */
.content-product-item {
    padding: 15px 0;
    background-color: #fff;
}

/* 商品ヘッダー */
.content-product-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.content-product-number {
    width: 25px;
    height: 25px;
}

.content-product-title {
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}

/* サブタイトル */
.content-product-subtitle {
    font-size: 90%;
    margin: 5px 0;
    padding-left: 1em;
    /* ブロック全体に1文字分のインデントを追加 */
    display: flex;
    align-items: center;
    gap: 10px;
}

/* 冷蔵アイコン */
.content-product-badge {
    display: inline-block;
    background-color: #235485;
    color: #fff;
    font-size: 90%;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 3px;
}

/* 商品説明 */
.content-product-description {
    font-size: 90%;
    line-height: 1.6;
    margin: 0;
    padding-left: 1em;
    /* ブロック全体に1文字分のインデントを追加 */
}





/* -----------------------------------------------------------------------------
   コンテンツ用レイアウト＆テキストスタイル（共通LP用）2025/04/04 FUKU - 完全版011
----------------------------------------------------------------------------- */

/* ===================================== */
/* レイアウトベース（左右レイアウト） */
/* ===================================== */
.lps-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

.lps-section img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.lps-block {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    margin: 50px 0;
    gap: 20px;
}

.lps-block:nth-of-type(even) {
    flex-direction: row-reverse;
}

.lps-text {
    flex: 1;
    padding: 0;
    max-width: 100%;
}

.lps-img,
.lps-video {
    flex: 1;
    max-width: 100%;
}

.lps-img img,
.lps-video video {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: cover;
}

.lps-no-image .lps-text {
    width: 100%;
    text-align: center;
}

/* モバイル向け */
@media (max-width: 768px) {
    .lps-section {
        padding: 10px;
    }

    .lps-block {
        flex-direction: column !important;
        align-items: center;
        padding: 30px 0;
        margin: 0;
        gap: 20px;
    }

    .lps-img,
    .lps-video {
        width: 100% !important;
        max-width: 100% !important;
        order: -1 !important;
        margin-bottom: 20px;
    }

    .lps-text {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .lps-no-image .lps-text {
        text-align: center;
    }
}

/* ===================================== */
/* ヒーロー動画セクション */
/* ===================================== */
.hero-block {
    position: relative;
    flex-direction: column;
}

.hero-block .lps-video video {
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

@media (max-width: 768px) {
    .hero-block .lps-video video {
        aspect-ratio: 9 / 16;
    }
}

.hero-block .lps-text {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    padding: 30px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    text-align: left;
    box-sizing: border-box;
}

.hero-block .lps-text .plp-title-h1,
.hero-block .lps-text .plp-title-h2,
.hero-block .lps-text .plp-sublead {
    color: #fff !important;
}

/* ===================================== */
/* テキストスタイル */
/* ===================================== */
.lps-text h2.plp-title-h1,
.lps-text h2.plp-title-h2,
.lps-text h3.plp-title-h3,
.lps-text p.plp-sublead,
.lps-text p.plp-lead,
.lps-text p.plp-main-text,
.lps-text p.plp-notes,
.lps-text p.plp-notes-grey {
    all: initial;
    display: block;
    box-sizing: border-box;
    font-feature-settings: "palt"on;
    color: #1c1c1c;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
    word-break: break-word;
    overflow-wrap: break-word;
    margin: 0;
    padding: 0;
    white-space: normal;
}

.lps-text h2.plp-title-h1 {
    font-size: 42px;
    font-weight: 620;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 32px;
    overflow-wrap: anywhere;
}

.lps-text h2.plp-title-h2 {
    font-size: 27px;
    font-weight: 620;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 32px;
    overflow-wrap: anywhere;
}

.lps-text h3.plp-title-h3 {
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 24px;
}

.lps-text p.plp-sublead {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin-bottom: 20px;
}

.lps-text p.plp-lead,
.lps-text p.plp-main-text {
    font-size: 16px;
    font-weight: 550;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 16px;
}

.lps-text p.plp-notes,
.lps-text p.plp-notes-grey {
    font-size: 14px;
    font-weight: 450;
    letter-spacing: 0.1em;
    line-height: 1.9;
    margin-top: 16px;
}

.lps-text p.plp-notes-grey {
    color: #666;
}

@media (max-width: 768px) {
    .lps-text h2.plp-title-h1 {
        font-size: 28px;
        margin-bottom: 26px;
    }

    .lps-text h2.plp-title-h2 {
        font-size: 23px;
        margin-bottom: 26px;
    }

    .lps-text h3.plp-title-h3 {
        font-size: 21px;
        margin-bottom: 20px;
    }

    .lps-text p.plp-sublead {
        font-size: 16px;
        margin-bottom: 18px;
    }

    .lps-text p.plp-lead,
    .lps-text p.plp-main-text {
        font-size: 15px;
    }

    .lps-text p.plp-notes,
    .lps-text p.plp-notes-grey {
        font-size: 13px;
    }
}

.lps-line {
    display: inline-block;
    white-space: nowrap;
    font-feature-settings: "palt"on;
}

/*明朝体にしたいときは、以下classを追加する*/
.lps-text--serif h2.plp-title-h1,
.lps-text--serif h2.plp-title-h2,
.lps-text--serif h3.plp-title-h3,
.lps-text--serif p.plp-sublead,
.lps-text--serif p.plp-lead,
.lps-text--serif p.plp-main-text,
.lps-text--serif p.plp-notes,
.lps-text--serif p.plp-notes-grey {
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
}

/*lps-text内でfont-weightを変更する*/
/* LP内（.lps-text）では fw-xxx を最優先にする */
.lps-text.lps-text .fw-400 { font-weight: 400; }
.lps-text.lps-text .fw-500 { font-weight: 500; }
.lps-text.lps-text .fw-550 { font-weight: 550; }
.lps-text.lps-text .fw-600 { font-weight: 600; }
.lps-text.lps-text .fw-700 { font-weight: 700; }
.lps-text.lps-text .fw-bold { font-weight: bold; }
.lps-text.lps-text .fw-normal { font-weight: normal; }



/* ===================================== */
/* 顧客の声（吹き出し） */
/* ===================================== */
.lps-voice-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lps-voice-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    flex-direction: row;
}

.lps-voice-item:nth-child(even) {
    flex-direction: row-reverse;
    text-align: right;
}

.lps-voice-icon img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.lps-voice-balloon {
    background: #f4f4f4;
    padding: 12px 16px;
    border-radius: 12px;
    font-size: 80%;
    font-weight: 550;
    line-height: 2;
    color: #1c1c1c;
    font-family: "Noto Sans JP", sans-serif;
    flex: 1;
    text-align: left;
}

/* ===================================== */
/* リストデザイン */
/* ===================================== */
.lps-list {
    list-style-type: disc;
    padding-left: 1.5em;
    margin-top: 1em;
    margin-bottom: 1em;
}

.lps-list li {
    font-size: 16px;
    font-weight: 550;
    letter-spacing: 0.02em;
    line-height: 2;
    font-family: "Noto Sans JP", sans-serif;
    color: #1c1c1c;
    margin-left: 0;
    padding-left: 0.5em;
    text-indent: -0.5em;
}

/* ===================================================================== */
/* 商品ページ テキストエリア 2025/04/14 FUKU */
/* ===================================================================== */
.list-pro {
    list-style-type: none;
    margin: 0 0 0 0.5rem;
}

.list-pro li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
}

.list-pro li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2.5px solid #1eae8a;
    border-left: 2.5px solid #1eae8a;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';
}

/*文字の太さ*/
.fw-400 {
    font-weight: 400;
}

/* 標準（ノーマル） */
.fw-500 {
    font-weight: 500;
}

/* 中間（やや太め） */
.fw-550 {
    font-weight: 550;
}

/* よく使われる */
.fw-600 {
    font-weight: 600;
}

/* 太字 */
.fw-700 {
    font-weight: 700;
}

/* より強調された太字 */
.fw-bold {
    font-weight: bold;
}

/* 通常のbold（700と同義） */
.fw-normal {
    font-weight: normal;
}

/* 400と同義 */




/* ===================================================================== */
/* 注意書き囲み 2025/06/25 FUKU 最終調整版 */
/* ===================================================================== */
.notice-box {
    border: 1px solid #ccc;
    padding: 10px 16px;
    margin-left: 0;
    width: 100%;
    font-size: 80%;
    line-height: 1.4;
    color: #1c1c1c;
    box-sizing: border-box;
}

.notice-box-title {
    font-weight: 600;
    margin-bottom: 6px;
}

/* Avoneテーマのリセットに打ち勝つためにセレクタを強める */
.notice-box ul {
    list-style-type: disc !important;
    padding-left: 1.5em !important;
    /* ← 強制上書き */
    margin: 0;
}

.notice-box ul li {
    list-style-type: disc !important;
    margin-bottom: 0.2em;
    padding-left: 0;
    text-indent: 0;
}



/* ===================================================================== */
/* コレクションページ 商品グリッド 2025/12/17 FUKU 最終調整版 */
/* ===================================================================== */
/* コレクションページ商品グリッド */
.custom-collection-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* PC3列 */
    gap: 20px;
    margin: 30px 0;
}

.custom-collection-item {
    padding: 10px;
}

.custom-collection-item a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.custom-collection-item img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

/* 商品名は60%のサイズで左寄せ */
.custom-collection-item .product-title {
    text-align: left;
    margin: 0 0 5px;
    font-size: 90%;
    line-height: 1.4;
}

/* 商品説明は左寄せ */
.custom-collection-item .product-excerpt {
    font-size: 0.9em;
    color: #666;
    text-align: left;
    margin: 0 0 10px;
}

/* 価格全体は右寄せ */
.custom-collection-item .product-price {
    text-align: right;
    font-weight: bold;
}

/* 通常価格（取り消し線） */
.custom-collection-item .product-price .old-price {
    text-decoration: line-through;
    font-size: 90%;
    color: #666;
    font-weight: normal;
    margin-right: 5px;
}

/* 割引率は赤字 */
.custom-collection-item .product-price .discount-rate {
    color: #ef0000;
    font-size: 90%;
    font-weight: bold;
    margin-left: 5px;
}

/* SPは2列表示 */
@media (max-width: 768px) {
    .custom-collection-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* 看板画像 */
/* RTE内の看板画像の基本スタイル */
.rte .kv-banner {
    margin: 0 0 24px;
}

.rte .kv-banner__img {
    display: block;
    width: 100%;
    height: auto;
    /* アスペクト比維持 */
    line-height: 0;
    /* 余白対策 */
    border: 0;
}

/* （任意）直前/直後の空<p>が残っていたら消す */
.rte p:empty {
    display: none;
}

/* スマホ表示時の余白を縮小 */
@media screen and (max-width: 749px) {

    /* 全体コンテンツ幅 */
    .page-width {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* 上下マージン */
    .rte,
    .grid {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    /* 見出しやタイトルの上下余白も調整 */
    .page-title {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }
}

/* =========================================================
   福袋2026の見出しデザインのため追記 2025/12/17 FUKU
========================================================= */
/* 福袋2026コレクション：商品グループ見出し用 */
.lps-section.lps-no-image .lps-block {
  margin: 20px 0 10px; /* 50px → 圧縮して塊感 */
}

/* 念のため明示（既存指定と同義） */
.lps-no-image .lps-text {
  text-align: center;
}

/* 福袋：商品グループ見出しは少しだけ存在感を出す */
.lps-no-image .lps-text h3.plp-title-h3 {
  font-weight: 620;      /* 600 → 620 */
  letter-spacing: 0.12em; /* 0.1em → わずかに */
}
/* =========================================
   福袋コレクション：グループ見出し 赤帯
   ========================================= */

/* 親は中央寄せのみ */
.jc-plp-grouphead {
  text-align: center;
}

/* 赤い帯本体 */
.jc-plp-grouphead .jc-plp-badge {
  display: inline-block;
  background-color: #a10308;
  color: #fff;

  border-radius: 9999px;   /* 角丸（ピル型） */
  padding: 14px 36px;      /* 上下 / 左右 */
  
  line-height: 1.25;       /* 帯内で文字を締める */
  white-space: nowrap;     /* PCは1行固定 */
}

/* SP調整 */
@media (max-width: 768px) {
  .jc-plp-grouphead .jc-plp-badge {
    padding: 12px 22px;
    white-space: normal;   /* 長い場合は折り返しOK */
    text-align: center;
  }
}



/* =========================================================
   JC Link Card（リンクボックス）
   2025/10/20 FUKU - Avoneテーマ対応版
========================================================= */
.jc-link-card {
    display: flex;
    align-items: stretch;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none !important;
    background-color: #fff;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
    margin: 50px 0;
    color: inherit;
}

.jc-link-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* 左側テキスト領域 */
.jc-link-card__body {
    flex: 1;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.jc-link-card__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 6px;
    color: #111;
    line-height: 1.5;
}

.jc-link-card__desc {
    font-size: 12px;
    color: #555;
    line-height: 1.6;
    flex: 1;
}

.jc-link-card__url {
    font-size: 12px;
    color: #888;
    margin-top: 8px;
}

/* 右側のサムネイル */
.jc-link-card__image {
    width: 35%;
    min-width: 140px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
    .jc-link-card {
        flex-direction: column;
    }

    .jc-link-card__image {
        width: 100%;
        min-width: auto;
        height: auto;
    }

    .jc-link-card__body {
        padding: 12px 14px;
    }
}

/* ===== 改行の制御 ===== */
/* 商品ページでは .jc-phrasing ラッパー内だけで有効化 */
.jc-phrasing .jc-phrase {
    white-space: normal !important;        /* これがあると安心（テーマ側のnowrap潰し） */
    word-break: normal !important;         /* keep-all をやめる（日本語が折れなくなる原因） */
    overflow-wrap: anywhere !important;    /* どうしても長い塊は折る（iOSで重要） */
    line-break: strict;
}

/* Safari/Chromiumで文節推定を使う */
@supports (word-break: auto-phrase){
    .jc-phrasing .jc-phrase{
        word-break: auto-phrase !important;
        overflow-wrap: normal !important;    /* “どこでも折る”を解除して綺麗に */
    }
}

/* wbrを効かせる */
.lps-section .plp-main-text wbr{
  display:inline !important;
}

/* wbrが効かない時の保険（iOS Safari対策：塊として扱わせる） */
.jc-nobr{
  white-space: nowrap;
  display: inline-block;
  overflow-wrap: normal;
  word-break: keep-all;
}


/* ===== 商品ページ：リード見出し（SPのみサイズ調整） =====  */
@media only screen and (max-width: 766px) {
  .template-product .product-lead-title {
    font-size: 20px;
    line-height: 1.5; /* 読みやすさ重視 */
  }
}

/* =========================
   Blog intro summary cards
   (scoped to jc-blog to avoid theme collisions) 20260105
========================= */

/* SP：縦積み（余白はここで管理） */
.jc-blog .jc-summary-wrap{
  display: block;
  margin: 18px 0 26px; /* ← SP縦並び時の「ブロック全体」の上下余白 */
}

/* SP時のカード間余白 */
.jc-blog .jc-summary-wrap .jc-summary-card + .jc-summary-card{
  margin-top: 14px; /* ← SPで2枚の間を少し詰める */
}

/* カードの外側（テーマ側の癖をこの範囲だけ抑える） */
.jc-blog .jc-summary-wrap .jc-link-card{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;                 /* important は不要。article内に入れれば暴れにくい */
}

/* PC：横並び（上揃え） */
@media (min-width: 768px){
  .jc-blog .jc-summary-wrap{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    align-items: start;
    margin: 22px 0 30px; /* ← PCの上下余白は少し広めでOK */
  }

  .jc-blog .jc-summary-wrap .jc-summary-card + .jc-summary-card{
    margin-top: 0;
  }
}

/* タイポ */
.jc-blog .jc-summary-card .jc-link-card__title{
  line-height: 1.25;
}

.jc-blog .jc-summary-card .jc-link-card__desc{
  line-height: 1.7;
  overflow-wrap: anywhere;
}

/* リスト：ブラウザ標準を復活 */
.jc-blog .jc-summary-card .jc-link-card__desc ul{
  list-style: disc;
  list-style-position: outside;
  padding-left: 1.25em;
  margin: 0.35em 0 0; /* ← タイトル直下の呼吸を少し */
}

.jc-blog .jc-summary-card .jc-link-card__desc li{
  list-style: disc;
  margin: 0.4em 0;
}

/* 入れ子のリスト保険 */
.jc-blog .jc-summary-card .jc-link-card__desc ul ul{
  list-style: circle;
  margin-top: 0.35em;
}

/* 結論カード */
.jc-blog .jc-summary-card--conclusion .jc-link-card__desc{
  letter-spacing: 0.01em;
}

.jc-blog .jc-summary-card--conclusion .jc-link-card__desc br{
  display: block;
  margin-top: 0.35em;
}

/* blog内FAQの間合いだけ調整（既存accordionの見た目は維持） */
.jc-blog .jc-faq{
  margin: 28px 0;
}

.jc-blog .jc-faq .accordion-item + .accordion-item{
  margin-top: 0; /* item間は既存のborderで区切る前提 */
}

/* hidden属性の保険（テーマCSSが上書きしても確実に閉じる） */
.jc-blog .jc-faq .accordion-content[hidden]{
  display: none !important;
}

/* ======== ブログ著者レイアウト（修正版：日付/プロフィールを右カラムに揃える） ======== */

.jc-author__inner{
  display: grid;
  grid-template-columns: 64px 1fr;
  column-gap: 16px;
  align-items: start;
}

/* avatar：左 */
.jc-author__avatar{
  grid-column: 1;
  grid-row: 1;
  width: 64px;
  height: 64px;
}

.jc-author__avatar img{
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* body：右（ここで縦積み管理する） */
.jc-author__body{
  grid-column: 2;
  grid-row: 1;
  display: flex;          /* ← display: contents をやめる */
  flex-direction: column;
  gap: 6px;
}

/* pのデフォルト余白を確実に無効化（Avone側の余白対策） */
.jc-author__body > p{
  margin: 0;
}

/* 右カラム内のタイポ（必要に応じて微調整） */
.jc-author__name{
  font-weight: 600;       /* お好みで */
  line-height: 1.6;
}

.jc-author__date{
  font-size: 12px;
  color: #777;
}

.jc-author__profile{
  font-size: 13px;
  color: #444;
  line-height: 1.8;
}

/* mobile */
@media (max-width: 767px){
  .jc-author__inner{
    grid-template-columns: 56px 1fr;
    column-gap: 12px;
  }

  .jc-author__avatar{
    width: 56px;
    height: 56px;
  }

  .jc-author__body{
    gap: 5px;
  }
}


/* =========================================================
   HTML内に記述されたCSSを統合 2026/01/05
========================================================= */
/* ====== Scoped Styles: Japan Caviar blog template ====== */
    .jc-blog {
        font-family: inherit;
        color: #111;
        line-height: 1.75;
    }

    /* container */
    .jc-container {
        width: min(1080px, 92%);
        margin-inline: auto;
    }

    /* ========== Hero ========== */
    .jc-hero__img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        /* 等比画像なら実質無影響。切り抜きが嫌なら削除可 */
    }

    .jc-hero__text {
        padding: 1.5rem 0 0;
        text-align: left;
    }

    @media (min-width:768px) {
        .jc-hero__text {
            padding: 2.5rem 0 0;
        }
    }

    .jc-eyebrow {
        font-size: .75rem;
        letter-spacing: .14em;
        text-transform: uppercase;
        color: #666;
        margin: 0 0 .25rem;
    }

    .jc-hero__title {
        font-size: clamp(1.5rem, 3.2vw, 2.4rem);
        line-height: 1.25;
        margin: .25rem 0 .5rem;
        font-weight: 700 !important;
        /* Avoneの400上書きを防ぐ */
    }

    .jc-hero__lead {
        font-size: clamp(.95rem, 2.2vw, 1.125rem);
        color: #333;
        margin: 0;
    }

    /* ========== Content ========== */
    .jc-content {
        padding: 2rem 0 0;
    }

    .jc-content>*+* {
        margin-top: 1.2rem;
    }

    .jc-h2 {
        font-size: clamp(1.25rem, 2.6vw, 1.75rem);
        line-height: 1.3;
        margin: 2rem 0 .75rem;
        font-weight: 700;
    }

    .jc-h3 {
        font-size: clamp(1.05rem, 2vw, 1.2rem);
        line-height: 1.4;
        margin: 1.5rem 0 .5rem;
        font-weight: 700;
    }

    /* ordered list */
    .jc-list--ol {
        list-style: decimal;
        padding-left: 1.5em;
    }

    .jc-list--ol li {
        margin: .35rem 0;
    }

    /* -------- disc list（Avoneリセット打ち消し） -------- */
    section.jc-blog .jc-content ul.jc-list--disc {
        list-style: disc outside;
        /* fallbacks */
        padding-left: 1.5em;
        margin-left: 0;
        /* 対応ブラウザなら既定値に戻す */
        padding-left: revert;
        margin-block-start: revert;
        margin-block-end: revert;
    }

    section.jc-blog .jc-content ul.jc-list--disc>li {
        display: list-item;
        /* Avoneのdisplay指定対策 */
        list-style: inherit;
        margin: .3rem 0;
    }

    section.jc-blog .jc-content ul.jc-list--disc>li::marker {
        font-size: .9em;
        color: currentColor;
    }

    /* 必要時のみ解禁
section.jc-blog .jc-content ul.jc-list--disc{ list-style:disc outside !important; }
section.jc-blog .jc-content ul.jc-list--disc > li{ list-style:inherit !important; }
*/

    /* ========== Figure & caption（記事中画像＋キャプション） ========== */
    .jc-blog .jc-figure {
        margin: 1.75rem 0;
    }

    .jc-blog .jc-figure__img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 10px;
        /* 角丸不要なら削除 */
    }

    .jc-blog .jc-figcaption {
        font-size: .8rem;
        line-height: 1.6;
        color: #666;
        margin-top: .5rem;
    }

    @media (min-width:768px) {
        .jc-blog .jc-figcaption {
            max-width: 85%;
        }
    }

    /* センタリング/左寄せのユーティリティ（任意） */
    .jc-blog .jc-figcaption.is-center {
        text-align: center;
    }

    .jc-blog .jc-figcaption.is-left {
        text-align: left;
    }

    /* 細字の補助表記 */
    .jc-blog .jc-figcaption small {
        font-size: .85em;
        color: #8a8a8a;
    }

    /* 細枠付き（任意） */
    .jc-blog .jc-figure--framed .jc-figure__img {
        border: 1px solid rgba(0, 0, 0, .08);
    }

    /* 本文幅よりやや狭め（任意） */
    .jc-blog .jc-figure--narrow {
        width: min(800px, 100%);
        margin-left: auto;
        margin-right: auto;
    }

    /* ========== Related products ========== */
    .jc-related__head {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        margin-top: 2.25rem;
    }

    .jc-related__title {
        margin: 0 0 .5rem;
    }

    .jc-related {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
        margin: .75rem 0 2.5rem;
    }

    @media (min-width:1024px) {
        .jc-related {
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }
    }

    .jc-card {
        display: grid;
        grid-template-rows: auto 1fr;
        text-decoration: none;
        color: inherit;
        border-radius: 14px;
        overflow: clip;
        background: #fff;
        border: 1px solid rgba(0, 0, 0, .06);
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .jc-card:focus-visible {
        outline: 2px solid #111;
        outline-offset: 2px;
    }

    .jc-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    }

    .jc-card__media img {
        width: 100%;
        height: auto;
        display: block;
        aspect-ratio: 1/1;
        object-fit: cover;
    }

    .jc-card__body {
        padding: .85rem .9rem 1rem;
        display: grid;
        align-content: start;
        gap: .4rem;
    }

    .jc-card__title {
        font-size: .95rem;
        line-height: 1.4;
        margin: 0;
    }

    .jc-card__price {
        font-size: .95rem;
        font-weight: 700;
        margin: 0;
    }

    .jc-btn {
        display: inline-block;
        font-size: .85rem;
        padding: .5rem .8rem;
        border-radius: 999px;
        border: 1px solid #111;
        line-height: 1;
        margin-top: .25rem;
        transition: background .2s ease, color .2s ease;
        text-align: center;
    }

    .jc-card:hover .jc-btn {
        background: #111;
        color: #fff;
    }

    /* ========== Safe resets in scope ========== */
    .jc-blog img {
        max-width: 100%;
        height: auto;
    }

    .jc-blog h1,
    .jc-blog h2,
    .jc-blog h3,
    .jc-blog p {
        margin: 0;
    }

    .jc-blog p+p {
        margin-top: .1rem;
    }

    /* 自動出力のページタイトルを非表示（記事内でh1を手動で出すため）
   ※全ページに効かないよう、記事テンプレートにスコープ */
.template-article .page-title{
  display:none !important;
}

    .template-article .section-header{
  display:none !important;
}

    /* === Japan Caviar Blog: 専用テキストリンク === */
    .jc-link {
        --jc-link: #0A66C2;
        /* ベースカラー（上品な青） */
        --jc-link-hover: #084E96;
        /* hover時：やや濃い青 */
        --jc-link-visited: #5A4CC7;
        /* visited：控えめな青紫 */

        color: var(--jc-link);
        text-decoration: none;
        text-underline-offset: 3px;
        transition: color .15s ease, text-decoration-color .15s ease;
    }

    .jc-link:hover {
        color: var(--jc-link-hover);
        text-decoration: underline;
        text-decoration-thickness: from-font;
        text-decoration-color: currentColor;
    }

    .jc-link:focus-visible {
        outline: 2px solid var(--jc-link-hover);
        outline-offset: 2px;
        border-radius: 2px;
    }

    .jc-link:visited {
        color: var(--jc-link-visited);
    }

    /* オプション：強調用 */
    .jc-link--strong {
        font-weight: 600;
    }

    /* オプション：控えめスタイル（淡い下線だけ） */
    .jc-link--subtle {
        color: inherit;
        text-decoration: underline;
        text-decoration-color: rgba(10, 102, 194, .35);
    }

    /* ========== 見出しの改行制御 ========== */
    /* まずは既定の安全側 */
    section.jc-blog .jc-phrase {
        /* CJKで1文字ずつ折りを避ける */
        word-break: keep-all;
        overflow-wrap: normal;
        line-break: strict;
    }

    /* Safari・Chromiumなど対応環境では“文節推定”で折る */
    @supports (word-break: auto-phrase) {
        section.jc-blog .jc-phrase {
            word-break: auto-phrase;
            /* 任意：若干タイトにして見出しを整える */
            line-break: strict;
        }
    }

    /* ========== 改行禁止ユーティリティ（手動で囲む） ========== */
    .jc-nb,
    .nowrap {
        /* 既存の命名に合わせてエイリアスも用意 */
        white-space: nowrap;
        display: inline-block;
        /* インラインボックスとして塊扱い */
    }

    /* ========== レスポンシブ改行ヒント ========== */
    /* 例：<br class="jc-br--sm"> を仕込んで幅に応じて出す/消す */
    .jc-br--sm,
    .jc-br--md,
    .jc-br--lg {
        display: none;
    }

    /* 幅に応じて有効化（必要に応じて閾値は調整） */
    @media (max-width: 767.98px) {
        .jc-br--sm {
            display: inline;
        }
    }

    @media (min-width: 768px) and (max-width: 1023.98px) {
        .jc-br--md {
            display: inline;
        }
    }

    @media (min-width: 1024px) {
        .jc-br--lg {
            display: inline;
        }
    }


/* ===============================
   お知らせ / 注意喚起 用カード（汎用）
   =============================== */

.description_box_333.jc-notice-card{
  background: #F9F9F9;
  padding: 48px 40px;
}

/* 見出し直下の詰まりを防ぐ */
.description_box_333.jc-notice-card h3{
  margin-bottom: 24px;
}

/* 本文段落のリズム（Avone寄り） */
.description_box_333.jc-notice-card p{
  margin: 0 0 18px;
    line-height: 1.5;
}

.description_box_333.jc-notice-card p:last-of-type{
  margin-bottom: 0;
}

/* モバイル調整 */
@media (max-width: 749px){
  .description_box_333.jc-notice-card{
    padding: 36px 20px;
  }

  .description_box_333.jc-notice-card h3{
    margin-bottom: 20px;
  }

  .description_box_333.jc-notice-card p{
    margin-bottom: 16px;
  }
}


/* ===============================
   カード内メルマガ登録（ボーダーなし）
   =============================== */

.jc-notice-card .jc-newsletter-embed{
  margin-top: 36px;
  padding-top: 0;   /* カード内なので不要 */
  border: none;
}

/* メルマガ見出し・説明も余白を広めに */
.jc-newsletter-embed__title{
  margin: 0 0 10px;
}

.jc-newsletter-embed__desc{
  margin: 0 0 18px;
}

/* メルマガ入力欄とCTAの間隔調整 */
.jc-newsletter-embed .input-group{
  gap: 10px;
}

/* newsletter：input と CTA の間隔（gapが効かないtable系対策） */
.jc-newsletter-embed .input-group__btn{
  padding-left: 10px;
}

/* 任意：分離した時に角丸を自然にする */
.jc-newsletter-embed .input-group__field{
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

/* さらに「SPだけ」間隔を少し詰める */
@media (max-width: 749px){
  .jc-newsletter-embed .input-group__btn{
    padding-left: 8px;
  }
}


/* ===============================
   汎用 info カード
   =============================== */

.jc-info-card{
  background: #f9f9f9;
  padding: 28px;

  /* 共通ガイド */
  --jc-guide: 22px;  /* テキスト開始位置 */
  --jc-gap: 10px;    /* マーカーと本文の間隔 */
}

/* 見出し */
.jc-info-card__title{
  position: relative;
  margin: 0 0 20px;
  padding-left: var(--jc-guide);   /* テキスト開始位置 */
  padding-bottom: 16px;

  font-weight: 700;
  line-height: 1.35;
}

/* 見出し下ボーダー（テキスト表示エリア幅に揃える） */
.jc-info-card__title::after{
  content: "";
  position: absolute;
  left: var(--jc-guide);
  right: 0;
  bottom: 0;

  height: 1px;
  background: #c9c9c9;
}

/* 見出し下ボーダーなし */
.jc-info-card__title--no-divider::after{
  display: none;
}

/* リスト */
.jc-info-card__list{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* li */
.jc-info-card__list > li{
  position: relative;
  margin: 0 0 18px;
  line-height: 1.8;

  /* 本文開始位置 */
  padding-left: calc(var(--jc-guide) + var(--jc-gap));
}

/* 最後の余白 */
.jc-info-card__list > li:last-child{
  margin-bottom: 0;
}

/* リストマーク（●） */
.jc-info-card__list > li::before{
  content: "●";
  position: absolute;
  left: var(--jc-guide);
  top: 0;

  font-size: 0.6em;
  line-height: 1;

  /* 1行目（strong）に視覚的に合わせる */
  transform: translateY(0.55em);
}

/* 太字 */
.jc-info-card__list strong,
.jc-info-card__list b{
  font-weight: 700;
}

/* カード直下の本文（= 見出しと同じ開始位置） */
.jc-info-card > p{
  margin: 0;
  padding-left: var(--jc-guide);
  line-height: 1.8;
}

/* 複数段落の間隔（必要なら） */
.jc-info-card > p + p{
  margin-top: 14px;
}

/* 最後がpの場合、カード末尾の余白を整える（任意） */
.jc-info-card > p:last-child{
  margin-bottom: 0;
}