/*Noto-Emoji Import */
@import url('https://fonts.googleapis.com/css2?family=Noto+Emoji:wght@300..700&display=swap');

.noto-emoji_blue400 {
    font-family: "Noto Emoji", sans-serif;
    color: #1a56a0;
    font-weight: 400;
    margin-right: 5px;
}


/* ===================================
在庫表記用CSS
=================================== */
.stock-badge {
    border-radius: none;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
    margin-left: 8px;
    padding: 3px 10px;
}

/* 色 */
.badge-green { background-color: #28a745; }  /* 取り寄せ */
.badge-gray  { background-color: #6c757d; }  /* 販売終了 */
.badge-red   { background-color: #ff6666; }  /* 現在庫限り */

/* 画像と商品名だけグレー */
.item-soldout .p-item-thumb img {
    opacity: 0.4;
}

.item-soldout .p-item-name {
    opacity: 0.5;
}

/* 在庫表示は通常濃さ */
.item-soldout .p-item-stock-value {
    opacity: 1;
}

/* バッジも通常濃さ */
.item-soldout .stock-badge {
    opacity: 1;
}

@media (max-width: 767px) {
    /* スマホ表示用 */
    .stock-badge {
      display: block;      /* ブロック表示で改行 */
      margin-left: 0;      /* 左マージンリセット */
      margin-top: 5px;     /* 上マージンで余白調整 */
    }

    .p-item-quantity-per-case-caption {
      display: inline-block; /* 在庫ラベルと縦並びにしたい場合 */
    }
}

/*=======================================================リダイレクトアニメーション=======================================================*/

@keyframes ueda-spin {
    to { transform: rotate(360deg); }
}

/*=======================================================ログイン画面ロゴ=======================================================*/

.under_login_logo{
    background: #f6f6f6;
    border-radius: 5px;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: .3rem;
    margin-bottom: 30px;
    padding: 15px;
    
}

.under_login_logo p{
    line-height: 2;
}

.under_login_logo p:not(:last-child){
    margin-bottom: 20px;
}

.under_login_logo p span{
    font-weight: 700;
}

.under_login_logo .para1 p{
    margin-bottom: 10px;
}

.under_login_logo .para2{
    text-align: right;
}

.under_login_logo .para2 a{
    display: inline-block;
}

.under_login_logo .para2 a p{
    margin-bottom: 10px;
    color: #6b6b6b;
}

/*=======================================================ログイン画面対応ブラウザ表記=======================================================*/

.under_login_browser{
    margin: 20px 0px -30px 0px;
}
.under_login_browser p{
    color: #6b6b6b;
    font-size: 0.8em;
}
.under_login_browser_bottom{
    text-align: center;
    margin-top: 20px;
}
.under_login_browser_bottom a{
    background: #6b6b6b;
    border-radius: 90px;
    color: #fff;
    display: inline-block;
    padding: 10px 20px;
    transition: .4s;
}

.under_login_browser_bottom a:hover{
    background: #777777;
    text-decoration: none;
}

/*=======================================================新規会員登録=======================================================*/
/*===================================================メール注意書き（STEP1）==================================================*/
.mail-accordion_header::marker{
    color: #ff6666;
}

.mail-accordion_title{
    color: #333;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    line-height: 2;
}

@media screen and (max-width: 767px){
    .mail-accordion_title{
        display: inline;
    }
}

.mail-accordion_title:not(:last-child){
    margin-bottom: 5px;
}
    
.mail-accordion_title span{
    color: #ff6666;
    letter-spacing: .3rem;
    margin-right: 5px;
}

p.mail-accordion_text{
    color: #555;
    line-height: 2.5;
    margin: 20px 0;
    padding: 0 15px;
}

p.mail-accordion_text span{
    color: #ff6666;
}

ul.mail-accordion_list{
    margin: 0 0 0 30px;
}

ul.mail-accordion_list > li{
    color: #555;
    list-style: disc!important;
    line-height: 2;
}

a.mail-accordion_A{
    background-color: #bbd0ff;
    border-radius: 90px;
    color: #4033f1;
    margin-bottom: 20px;
    padding: 5px 20px;
    text-decoration: none;
    transition: .4s;
}

a.mail-accordion_A:hover{
    opacity: .7;
    text-decoration: none;
}

/*=====================================================追加情報（STEP3）=====================================================*/
.p-user-register-step-indicator .p-step .p-step-point{
    font-weight: 400;
}

.p-user-register-step-indicator .active .p-step-text{
    color: #ff6666;
    font-size: 1.8rem;
}

.accordionRegister  {
    margin: 30px auto;
}

.accordionRegister_title {
    background: #ffffff;
    border: none;
    border-bottom: 1.5px dashed #25287a;
    color: #25287a;
    cursor: pointer;
    display: block;
    font-weight: 700;
    letter-spacing: .3rem;
    line-height: 1.6em;
    list-style: none;
    position: relative;
    padding: 3px;
    width: 100%;
}

summary.accordionRegister_title::-webkit-details-marker {
    display:none;
}

.accordionRegister_title:after {
    content: "+";
    position: absolute;
    top: calc(50% - 0.5em);
    right: .3rem;
    line-height: 1;
    padding: 0;
    pointer-events: none;
}

.accordionRegister::details-contents {
    opacity: 0;
    block-size: 0;
    transition: .3s;
    transition-property: display, opacity, block-size, padding;
    transition-behavior: allow-discrete;
    padding: 0 1.6em;
    }

.accordionRegister .accordionRegister_contents {
    padding: 0 1.6em;
}

.accordionRegister .accordionRegister_contents p{
    color: #555;
    line-height: 2.5;
    margin-bottom: 20px;
}

.accordionRegister .accordionRegister_contents p > span{
    font-weight: 700;
    letter-spacing: .15rem;
}

.accordionRegister .accordionRegister_contents p:last-child{
    margin-bottom: 0;
}

.accordionRegister[open]::details-contents {
    opacity: 1;
    block-size: auto;
    block-size: calc-size(auto, size);
}

.accordionRegister[open] .accordionRegister_contents {
    padding: 1.4em 0 0 5px;
}

.accordionRegister[open] .accordionRegister_title:after {
    content: "-";
}

/*=======================================================全体設定=======================================================*/
/* トンマナ共通変数（手本：お知らせ news_id=46） */
:root{
    --u-ink: #1a1a1a;   /* 文字・ボタン */
    --u-sub: #6c6c6c;   /* サブ文字 */
    --u-line: #dddddd;  /* 罫線 */
    --u-bg: #f6f6f6;    /* 薄い背景 */
    --u-accent: #e98a2e;
    --u-mincho: "Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;
    --u-serif-en: "Times New Roman","Hiragino Mincho ProN","Yu Mincho",serif;
}

body{
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",sans-serif;
}

@media only screen and (max-width: 767px){
    body{
        overflow:hidden;
    }
}

.center{
    text-align: center;
}

.right{
    text-align: right;
}

.left{
    text-align: left;
}

.fff{
    color: #fff;
}

a:hover{
    cursor: pointer !important;
}


@media(min-width:751px){
    .sp{
    display: none !important;
    }
}
@media(max-width:750px){
    .pc{
    display: none !important;
    }

    a img:hover{
        opacity: 1;
    }
}

.p-quantity-price{
    display: none;
}

.l-contents-header-search{
    height: fit-content;
    cursor: pointer;
}

.l-contents{
    padding-top: 0;
}

.l-footer-copyright{
    display: none;
}

.u-pc-item nav{
    background-color: var(--u-ink);
    border-radius: 0;
    margin: 0 auto;
    width: 1280px;
    max-width: 100vw;
    /* 背景だけ左右いっぱいに伸ばす（レイアウト幅は変えない） */
    box-shadow: 0 0 0 100vmax var(--u-ink);
    clip-path: inset(0 -100vmax);
}

/*ランキング部分*/
.l-contents-col2-l .l-contents-main{
    float: none;
}

.l-contents-col2-l .l-contents-main, .l-contents-col2-r .l-contents-main{
    width: 1280px;
}

/*おしらせ部分*/
#js-top-news{
    padding-top: 60px;
}

.p-news-list{
    margin: 0 10px;
}

#js-top-cat-container-side{
    display: none;
}

/*注文履歴*/

#orderSearch .l-contents-col2-l .l-contents-main{
    float: right;
}

#orderSearch .l-contents-col2-l .l-contents-main, .l-contents-col2-r .l-contents-main{
    width: 73.35%;
}

@media screen and (max-width: 1366px){
    .u-pc-item nav{
        max-width: 95vw;
    }
}

.l-header-itemcategory-form-input-container{
    color: #fff;
}

.u-pc-item nav .c-form-item-title{
    color: #fff;
    letter-spacing: .12em;
}

/* 検索バー内プルダウン：枠なしの白い箱＋墨色の▼ */
.u-pc-item nav .c-form-selectWrap{
    border: none;
}
.u-pc-item nav .c-form-selectWrap:before{
    background-color: #fff;
}
.u-pc-item nav .c-form-selectWrap:after{
    border-top-color: var(--u-ink);
}

/* 入力欄・検索ボタンの高さをプルダウン（26px）に揃える */
.u-pc-item nav .l-nav-keywordSearch-input[type="text"],
.u-pc-item nav .l-nav-keywordSearch-icon{
    height: 26px;
}

.u-pc-item nav .l-nav-keywordSearch-icon{
    vertical-align: bottom;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 8px;
    line-height: 1;
}

.u-pc-item nav .l-nav-keywordSearch-submit{
    height: auto;
    width: auto;
    line-height: 1;
}

.c-form-selectWrap:before{
    background-color: var(--u-ink);
}

.l-nav-keywordSearch-icon{
    background-color: #fff;
    border-radius: 0;
    color: var(--u-ink);
}

.l-nav-keywordSearch-icon .l-nav-keywordSearch-submit{
    color: var(--u-ink);
}

.u-pc-item nav .l-nav-keywordSearch-input[type="text"] ,.u-pc-item nav .c-form-selectWrap select{
    color: var(--u-ink);
    font-weight: 400;
}

.l-header-search-container .l-nav-catalogSearch{
    display: none;
}

.p-news-type-label{
    margin: 10px 0;
}

#js-pagetop{
    z-index: 99!important;
}

p#reminder , p#user_register{
    text-align: center;
}

.p-item-campaign-mesg-input-value{ /*キャンペーン表示*/
    background-color: #c1272d;
    color: #fff;
    font-weight: 900;
    text-align: center!important;
}

.p-item-campaign-mesg{
    background-color: #c1272d;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 900;
    position: relative;
    left: -1px;
    text-align: center!important;
}

@media screen and (max-width: 767px){
    .l-contents-col2-l .l-contents-main, .l-contents-col2-r .l-contents-main{
        width: auto;
    }

    .p-item-campaign-mesg{
        margin-top: 10px;
    }
}


/* ページ送り（旧：JSのueda-pager-v4から移設） */
.c-pager{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
    letter-spacing: normal;
    white-space: normal;
}
/* ページ番号 */
.c-pager li:not(.c-pager-prev):not(.c-pager-next){
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    margin: 0;
    border: 1px solid var(--u-line);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-size: 14px;
    font-weight: 400;
    box-sizing: border-box;
}
.c-pager li:not(.c-pager-prev):not(.c-pager-next) a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 10px;
    color: var(--u-ink);
    text-decoration: none;
}
.c-pager li:not(.c-pager-prev):not(.c-pager-next):has(a):hover{
    background: var(--u-bg);
    border-color: var(--u-ink);
}
/* 現在のページ（リンクなし） */
.c-pager li:not(.c-pager-prev):not(.c-pager-next):not(:has(a)){
    background: var(--u-ink);
    border-color: var(--u-ink);
    color: #fff;
}
/* 前へ・次へ */
.c-pager .c-pager-prev,
.c-pager .c-pager-next{
    display: flex;
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    background: transparent;
}
.c-pager .c-pager-prev a,
.c-pager .c-pager-next a{
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: transparent;
    color: var(--u-ink);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .12em;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color .3s, color .3s;
}
.c-pager .c-pager-prev a:hover,
.c-pager .c-pager-next a:hover{
    background: var(--u-ink);
    color: #fff;
}
.c-pager .c-pager-prev a::before,
.c-pager .c-pager-next a::before{
    content: none;
}
.c-pager-disabled a{
    opacity: .35;
    pointer-events: none;
}
@media (max-width: 520px){
    .c-pager .c-pager-prev a,
    .c-pager .c-pager-next a{
        min-width: 48px;
        padding: 0 8px;
        font-size: 12px;
    }
}


/* 商品一覧：表示件数・並び替えの帯 */
.p-itemList-condition{
    background-color: var(--u-bg);
}
.p-itemList-condition .c-form-item-title{
    color: var(--u-sub);
    font-weight: 400;
    letter-spacing: .12em;
}

/***********商品一覧サムネ***********/
.nav-controls{
    display: none;
}

.p-itemLayout-grid .p-item-thumb{
    height: 300px;
}

.p-item-thumb img{
    border-radius: 10px;
    max-height: 300px;
}

.p-itemLayout-grid .p-item-group01{
    border-bottom: 1px solid #e5e5e5;
}

.p-itemLayout-grid .p-item-group02{
    margin-bottom: 10px;
}

.c-box > .p-item > .p-item-thumb > .imgUrl > .imgUrl{
    border-radius: 0;
}

@media screen and (max-width: 767px){
    .p-itemLayout-grid .p-item-thumb{
        height: 200px;
    }
    
    .p-item-thumb img{
        max-height: 200px;
    }

    .p-itemLayout-grid-scroll .c-box-col2Wrap .c-box:nth-child(2n) {
        border-left: none!important;
    }
}
/*=======================================================見出し共通=======================================================*/
#js-top-ranking .c-title01{
    margin: 165px 0 44px;
}


/* 共通見出し（AladdinEC標準 .c-title01）をミニマルに */
.c-title01{
    background: transparent;
    border-bottom: 1px solid var(--u-ink);
    padding: 0 0 12px;
    margin-bottom: 24px;
}

.c-title01-label,
.c-title01-label.p-news-title{
    border-left: none;
    padding-left: 0;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .12em;
}

.c-title02{
    margin-top: 0;
    position: relative;
    display: inline-block;
    margin-top: 6rem;
    margin-bottom: 6rem;
}

.bg_gray .c-title02 {
    margin-top: 6rem;
}

.c-title02-label01{
    font-weight: bold;
    color: #333333;
    letter-spacing: 0.5rem;
    font-size: 3.2rem;
}

.c-title02-label02{
    color: #333333;
    letter-spacing: 0.5rem;
}

.c-title02:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #333333;
}

.c-title03{
    margin-top: 70px;
    position: relative;
    display: inline-block;
    margin-bottom: 6rem;
}

.c-title03-label01{
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.5rem;
    font-size: 2.8rem;
}

.c-title03-label02{
    color: #fff;
    letter-spacing: 0.5rem;
}

.c-title03:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
}

.c-title03k{
    margin-top: 20px;
    position: relative;
    display: inline-block;
    margin-bottom: 6rem;
}

.c-title03-label01k{
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.5rem;
    font-size: 4rem;
}

.c-title03k:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
}

/*=======================================================グローバルナビゲーション=======================================================*/
.u-pc-item .l-header-orderNav-parent{
    padding: 25px 0 0 0;
    margin: 0 auto;
}

.l-header-orderNav .c-button03{
    background-color: transparent;
    border: none;
    color: #333;
    font-size: 1.2rem;
    padding: 10px;
    transition: .4s;
}

.l-header-orderNav .c-button03:hover{
    border: none;
    translate: 0 -5px;
}

.l-header-orderNav .c-button03 .fa-heart{
    color: #f68baa;
}

.l-header-orderNav .c-button03 .fa-refresh{
    color: var(--u-ink);
}

.c-button02{
    background-color: #aaa;
    border: 1px solid #aaa;
}

.l-header-orderNav li{
    margin-right: 0;
}

.l-header-orderNav li:nth-child(n+2){
    margin-left: 13px;
}

.l-header-orderNav .fa:before{
    font-size: 2rem;
    margin-right: 4px;
}

.u-pc-item .l-header-userNav-parent{
    margin: 0 0 0 10px;
    padding: 0;

}

.l-header-userNav > li:nth-child(n+2){
    margin-left: 13px;
}


@media only screen and (min-width: 768px){
    .l-header-delivery{
    color: #333;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .1rem;
    }

    .l-header-group02{
        margin: 15px 0;
        padding-top: 0;
        position: absolute;
        right: 20px;
        width: 1200px;
    }
}

/*==================================================お気に入りボタンデザイン==================================================*/
.p-item-favorite > a:not(.p-item-favorite-added){
    border: none;
    left: 1px;
    position: relative;
}

.p-item-favorite > a:not(.p-item-favorite-added)::after{
    content: "お気に入り追加";
    font-size: 1.2rem;
}

.p-item-favorite-added .fa{
    color: #f68baa;
}

.p-item-favorite-added{
    border: 1px solid #f68baa;
    color: #f68baa;
    left: 1px;
    position: relative;
}

.p-item-favorite-added::after{
    content: "お気に入り商品";
    font-size: 1.2rem;
}

/*=======================================================ヘッダロゴ下=======================================================*/
.u-pc-item .l-header-logo-parent{
    padding: 0;
}

.l-header-logo-parent{
        flex-basis: auto!important;
    }

.l-header-logo{
    width: 300px;
    max-width: 100%;
    margin: 0 0 10px;
}

.l-header-utilityNav{
    display: none;
}

.l-header-userNav .c-button04{
    font-size: 1.4rem;
    padding: 10px 40px;
    background-color: var(--u-ink);
    border: 1px solid var(--u-ink);
    border-radius: 0;
    color: #fff;
    font-weight: 400;
    letter-spacing: .16em;
    transition: opacity .3s;
}

.l-header-userNav .c-button04:hover{
    background-color: var(--u-ink);
    color: #fff;
    opacity: .8;
}

@media only screen and (max-width: 767px){
    .l-nav-spMenu{
        background-color: #333;
    }
}

.contact_top{
    display: block;
    color: #333333;
    font-size: 1.5em;
    width: 190px;
    text-align: center;
    }

.under_headerlogo_icons{
    width: 190px;
    display: inline-block;
    padding: 5px 5px;
    text-align: center;
    }

.under_headerlogo_icons .fa-brands{
    font-size: 1.8em;
    }

.under_headerlogo_icons .fa-line{
    margin-right: 25px;
}

.under_headerlogo_icons .fa-brands:hover{
    opacity: 0.7;
}

@media only screen and (max-width: 767px){
    .l-header-logo{
        max-width: 50%;
    }

    .l-header-userNav .c-button04{
        height: auto;
        padding: 5px 10px;
        font-size: 1.4rem;
        margin-right: 5px;
    }

    .l-header-userNav ul{
        float: left;
        right: 0;
        left: 10px;
    }
}

/*=======================================================ヘッダロゴ右=======================================================*/
.write_right_header_logo{
    margin-top: -20px;
    margin-bottom: 10px;
    text-align: center;
}

.write_right_header_logo img{
    width: 600px;
    max-width: 100%;
}
/*=======================================================お知らせ=======================================================*/
#js-top-news .c-button03{
    background: transparent;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    color: var(--u-ink);
    font-weight: 400;
    letter-spacing: .12em;
    padding: 6px 20px;
    transition: background-color .3s, color .3s;
}

#js-top-news .c-button03:hover{
    background: var(--u-ink);
    color: #fff;
    opacity: 1;
    text-decoration: none;
}


/* お知らせ一覧：手本に合わせてミニマルに */
.p-news-type-news{
    background-color: transparent;
    border: 1px solid var(--u-line);
    border-radius: 0;
    color: var(--u-sub);
    font-weight: 400;
    letter-spacing: .2em;
}

.p-news-list li{
    border-bottom: 1px solid var(--u-line);
    padding: 20px 4px;
}

.p-news-list .p-news-date{
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-weight: 400;
    letter-spacing: .12em;
}

.p-news-list .p-news-title a{
    color: var(--u-ink);
    font-weight: 400;
    letter-spacing: .06em;
    transition: opacity .3s;
}

.p-news-list .p-news-title a:hover{
    opacity: .55;
    text-decoration: none;
}

.info_holiday h4.title{
    color: #333;
    font-weight: 400;
    letter-spacing: .3rem;
}

.info_holiday p{
    letter-spacing: .2rem;
    margin-bottom: 10px;
}

.info_holiday p.holiday_date{
    font-size: 4rem;
    font-weight: 700;
}

.info_holiday p.holiday_date span{
    color: #ccc;
    font-size: 1.2rem;
}

.info_holiday p.info_remarks{
    color: #aaa;
    font-size: 1.2rem;
    letter-spacing: .3rem;
}

/*=======================================================お問い合わせ=======================================================*/
/* お問い合わせ（PCのみ表示）：右端・上下中央の細い縦タブ */
#fixedFormButton{
    position: fixed;
    top: 50%;
    right: 0;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 99;
    text-align: center;
}

#fixedFormButton a{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 44px;
    padding: 18px 0;
    border-radius: 0;
    background-color: var(--u-ink);
    color: #fff;
    transition: opacity .3s;
}

#fixedFormButton .fa-envelope{
    font-size: 1.6rem;
}

#fixedFormButton p{
    writing-mode: vertical-rl; /* 縦書き */
    margin: 0;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: .2em;
}

#fixedFormButton a:hover{
    background-color: var(--u-ink);
    opacity: .8;
    text-decoration: none;
}

.l-footer-pagetop {
    z-index: 99999;
}

#fixedLineButton{
    position: fixed;
    bottom: 0;
    text-align: center;
    z-index: 99;
}

#fixedLineButton i{
    margin-right: 10px;
}

#fixedLineButton a{
    display: block;
    background-color: rgba(6, 199, 85, 1);
    color: #fff;
    font-size: 1.4rem;
    padding: 7px;
    width: 100vw;
    max-width: 100%;
}

#fixedLineButton a:hover{
    text-decoration: none;
}

@media only screen and (max-width: 767px){
    .l-footer-pagetop{
        bottom: 60px;
    }

    #bottom_nav{
        bottom: 0;
        border-top: 1px solid #ccc;
        background: rgba(255, 255, 255, 0.9);
        display: flex;
        flex-wrap:nowrap;
        height: 60px;
        justify-content: space-around;
        left: 0;
        line-height: 20px;
        margin: 0;
        padding: 10px 10px;
        position: fixed;
        width: 100%;
        z-index: 9999999;
    }
    
    #bottom_nav li{
        list-style: none;
        text-align: center;
        max-width: clac(100% / 5 - 12px);
    }
    
    #bottom_nav a{
        display: block;
    }
    
    #bottom_nav a i{
        font-size: 2rem;
    }
    
    
    #bottom_nav a span{
        font-size: 1.2rem;
    }
    
    #bottom_nav .btn_cart{
        background-color: #f98b0a;
        border-radius: 50px;
        box-shadow: 0px 0px 5px #f98b0a;
        color: #fff;
        display: flex;
        flex-direction:column;
        justify-content: center;
        transform: translateY(-25px);
        width: 65px;
        height: 65px;
        align-items: center;
        
    }

    .footer_content{
        padding-bottom: 60px;
    }
}

/*=======================================================トップページモーダル=======================================================*/
body.open_popup {
    overflow: hidden;
}

.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

body.open_popup .bg_onetime_popup {
    opacity: 1;
    visibility: visible;
}

.onetime_popup {
    background-color: #fff;
    border-radius: 15px;
    left: 50%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.onetime_popup_title {
    background: linear-gradient(transparent 50%, #fff 50%);
    border-radius: 15px 15px 0 0;
    color: #fff;
    font-size: 32px;
    margin: 0;
    max-width: 100%;
    padding: 0;
    position: relative;
}

.onetime_popup_title img{
    border-radius: 15px 15px 0 0;
    max-width: 100%;
}

.onetime_popup_title_close {
    position: absolute;
    top: 30px;
    right: 20px;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    cursor: pointer;
}
.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 4px;
    background-color: #fff;
    content: "";
}
.onetime_popup_title_close::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.onetime_popup_content {
    font-size: 1.4rem;
    padding: 0px 10px 20px;
    text-align: center;
}

.pop_up_sign_up{
    background-color: rgba(174, 200, 196, 1);
    border-radius: 90px;
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    letter-spacing: .3rem;
    margin: 25px 0 10px;
    max-width: 90%;
    padding: 10px;
    text-decoration: none;
    transition: .4s;
    width: 300px;
}

.pop_up_sign_up:hover{
    background-color: rgb(90, 149, 140);
    color: #fff;
    text-decoration: none;
}

.pop_up_users_guide{
    font-size: 1rem;
    text-decoration: none;
    transition: .4s;
}

.onetime_popup_content span{
    background: linear-gradient(transparent 70%, #ffd2d2 70%);
}

@media screen and (max-width: 767px){
    .onetime_popup{
        max-width: calc(100% - 20px);
    }

}

/*=======================================================フッター=======================================================*/
/* フッター：特集スライダー */
.footerFeature{
    padding: 56px 10px 24px;
}
.footerFeature__ttl{
    margin: 0 0 28px;
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: .3em;
    text-align: center;
}
.footerFeature__ttl span{
    display: block;
    margin-top: 6px;
    color: var(--u-sub);
    font-family: var(--u-mincho);
    font-size: 1.2rem;
    letter-spacing: .2em;
}
#footerFeatureSlider .splide__list,
#footerBannerSlider .splide__list{
    margin: 0;
    padding: 0;
}
#footerFeatureSlider .splide__slide,
#footerBannerSlider .splide__slide{
    list-style: none;
}
.footerFeature__more{
    margin-top: 24px;
    text-align: center;
}
.footerFeature__more a{
    display: inline-block;
    min-width: 280px;
    padding: 14px 32px;
    border: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-size: 1.4rem;
    letter-spacing: .16em;
    transition: background-color .3s, color .3s;
}
.footerFeature__more a:hover{
    background: var(--u-ink);
    color: #fff;
    text-decoration: none;
}

/* フッター：バナースライダー */
#footerBannerSlider{
    padding: 32px 10px 48px;
}
#footerBannerSlider img{
    display: block;
    width: 100%;
    height: auto;
}

/* フッター：2つのスライダー共通の矢印・ドット */
#footerFeatureSlider .splide__pagination,
#footerBannerSlider .splide__pagination{
    position: static;
    margin-top: 20px;
}
#footerFeatureSlider .splide__pagination__page,
#footerBannerSlider .splide__pagination__page{
    width: 24px;
    height: 2px;
    margin: 0 3px;
    border-radius: 0;
    background: var(--u-line);
    opacity: 1;
    transform: none;
}
#footerFeatureSlider .splide__pagination__page.is-active,
#footerBannerSlider .splide__pagination__page.is-active{
    background: var(--u-ink);
    transform: none;
}
#footerFeatureSlider .splide__arrow,
#footerBannerSlider .splide__arrow{
    width: 3em;
    height: 3em;
    border-radius: 0;
    background: rgba(255, 255, 255, .9);
    opacity: 1;
}
#footerFeatureSlider .splide__arrow{
    top: calc((100% - 70px) * .37); /* 画像の高さの中央あたりに */
}
#footerFeatureSlider .splide__arrow svg,
#footerBannerSlider .splide__arrow svg{
    fill: var(--u-ink);
    width: 1.2em;
    height: 1.2em;
}

@media (max-width: 767px){
    .footerFeature{
        padding-top: 40px;
    }
    .footerFeature__more a{
        min-width: 0;
        width: 100%;
    }
    #footerFeatureSlider .splide__pagination__page,
    #footerBannerSlider .splide__pagination__page{
        width: 14px;
    }
}


/* 特集ページ：関連特集 */
.featureRelated{
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid var(--u-line);
}
@media (max-width: 767px){
    .featureRelated{
        margin: 48px 10px 0;
        padding-top: 40px;
    }
    .featureRelated .featureCard:nth-child(3){
        display: none; /* スマホは2列なので2件だけ */
    }
}

.footer_banner{
    display:flex;
    flex-wrap: wrap;
    padding: 20px 10px;
}

.footer_banner .footer_banner_img{
    max-width: calc(100% / 3 - 10px);
    margin-bottom: 15px;
    transition: .3s;
}

.footer_banner .footer_banner_img:hover{
    opacity: 0.7;
}

.footer_banner .footer_banner_img img{
    border-radius: 10px;
}

@media only screen and (min-width: 768px){
    .footer_banner .footer_banner_img{
        margin-right: 15px;
    }
    .footer_banner .footer_banner_img:nth-child(3n){
        margin-right: 0;
    }
}

@media only screen and (max-width: 767px){
    .footer_banner .footer_banner_img{
        max-width: calc(100% / 2 - 5px);
        margin-right: 10px;
        margin-bottom: 10px;
    }
    
    .footer_banner .footer_banner_img:nth-child(2n){
        margin-right: 0;
    }
}

.footer_content{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #333333;
}

.footer_content .footer_content_wrapper{
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

@media only screen and (min-width: 768px){
    .footer_content .footer_content_wrapper{
        padding: 25px 0;
    }

    .l-footer-utility-list li{
        border-left: 1px solid #fff;
    }

    .l-footer-utility-list li:last-child{
        border-right: 1px solid #fff;
    }
}

.l-footer-utility-list a{
    color: #fff;
}

/*元からのCSSをリセット*/
.l-footer-utility{
    background-color: #fff;
    border-top: none;
    padding: 0;
}

.snsWrapper ul{
    padding: 0;
    margin: 0;
}

.snsWrapper ul li{
    list-style: none;
}

.logo_icons{
    display: flex;
    justify-content: center;
}

.logo_icons li:not(:last-child){
    margin-right: 30px;
}

.logo_icons li a{
    display: inline-block;
    color: #fff;
    font-size: 3rem;
}

.logo_icons .fa-line{
    font-size: 2.7rem;
}

.before_footer_content{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 25px;
    margin-bottom:0;
    background-color: #f6f6f6;
    border-top: 1px solid #c5c5c5;
}

.before_footer_content .content_wrapper{
    width: 1200px;
    max-width: 100%;
    padding: 25px 0;
    margin: 0 auto;
}

.footer_menu_01{
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}

.footer_menu_01 > div{
    width: calc(100% / 3 - 10px);
    border: 1px solid var(--u-line);
    border-radius: 0;
    text-align: center;
    font-size: 1.4rem;
    list-style: none;
}

.footer_menu_01 > div:not(:last-child){
    margin-right: 15px;
}

@media only screen and (max-width: 767px){
    .before_footer_content .content_wrapper{
        padding: 25px 5px;
    }

    .footer_menu_01{
        display: block;
    }

    .footer_menu_01 > div{
        width: 100%;
    }

    .footer_menu_01 > div:not(:last-child){
        margin-right: 0;
        margin-bottom: 15px;
    }

    .l-footer-utility-list .userGuide{
        border-top: 1px solid #959cb1;
    }

    .snsWrapper ul{
        margin-top: 15px;
    }
}

.f-postage_free{
    background-color: #fff;
    padding: 20px;
}

.f-postage_free span{
    color: var(--u-ink);
    font-weight: 700;
    font-size: 1.5rem;
}

.f-inquire , .f-official{
    background-color: var(--u-ink);
    border-color: var(--u-ink) !important; /* ①の枠線を墨色に揃える */
    transition: opacity .3s;
}

.footer_menu_01 a{
    display: block;
    color: #fff;
    padding: 20px;
    letter-spacing: .16em;
}

.footer_menu_01 a:hover{
    text-decoration: none;
}

.f-inquire:hover , .f-official:hover{
    opacity: .8;
}

.footer_menu_02 > ul{
    display: flex;
    justify-content: space-between;
    list-style: none;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

@media only screen and (min-width: 768px){
    .footer_menu_02{
        margin-top: 15px;
    }

    .footer_menu_02 > ul li{
        margin-right: 15px;
    }

    .footer_menu_02 > ul li{
        margin-bottom: 15px;
    }

    .footer_menu_02 > ul li:nth-of-type(3n){
        margin-right: 0;
    }
}

.footer_menu_02 > ul > li{
    display: flex;
    flex-direction: column;
    width: calc(100% / 3 - 10px);
    background-color: #fff;
    padding: 15px;
    list-style: none;
}

.footer_menu_02 h2{
    padding: 0 0 10px;
    margin: 0;
    border-bottom: 1px solid var(--u-line);
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-weight: 600;
    letter-spacing: .12em;
    text-align: center;
}

.footer_menu_02 h3{
    padding: 0;
    margin: 10px 0 0;
}

.footer_menu_02 p{
    padding: 0;
    margin: 10px 0 0;
}

.footer_menu_02 .menu_exp{
    flex-grow: 1;
}

.footer_menu_02 .menu_exp ol{
    margin: 0;
    padding: 0;
    margin-left: 15px;
    margin-top: 10px;
}

.footer_menu_02 .menu_exp img{
    margin: 0;
    padding: 10px 20px 0;
}

.footer_menu_02 .menu_click{
    margin-top: 10px;
    text-align: right;
}

/* 「詳しくはこちら」など：サブボタン（細枠→ホバーで反転） */
.footer_menu_02 .menu_click a{
    display: inline-block;
    background-color: transparent;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    color: var(--u-ink);
    font-weight: 400;
    letter-spacing: .12em;
    padding: 5px 15px;
    transition: background-color .3s, color .3s;
}

.footer_menu_02 .menu_click a:hover{
    background-color: var(--u-ink);
    color: #fff;
    text-decoration: none;
}

/* お問い合わせ欄の3つのボタンは横いっぱいに */
.footer_menu_02 .menu_click .mail_form , .footer_menu_02 .menu_click .phone{
    display: block;
    margin: 10px 0 0;
    padding: 10px;
    font-size: 1.4rem;
    text-align: center;
}


/*=======================================================トップバナー上（リニューアル）=======================================================*/
.freeEditContent ul > li {
    list-style: none;
}

.top_bg a{
    color: inherit;
    text-decoration: inherit;
}
.top_bg ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.top_bg{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
    margin-bottom: 0;
}
.top_bg img {
    overflow-clip-margin: content-box;
    overflow: clip;
    width: 100%;
}
/*メインスライダー*/
#splideMain{
    margin: 0 auto 65px;
    padding: 0;
}

#splideMain img{
    border-radius: 0;
}

#splideMain .splide__arrow{
    background: rgba(255, 255, 255, .9);
    border-radius: 0;
    height: 3em;
    opacity: 0;
    transition: .3s;
    width: 3em;
}

#splideMain .splide__arrow svg{
    fill: var(--u-ink);
    height: 1.2em;
    width: 1.2em;
}

@media screen and (min-width: 768px){
    #splideMain:hover .splide__arrow{
        opacity: 1;
    }
}

.your-class-page{
    background-color: var(--u-line);
    border-radius: 0;
    bottom: -40px;
    height: 2px;
    opacity: 1;
    width: 24px;
}
.your-class-page.is-active{
    background-color: var(--u-ink);
    opacity: 1;
    transform: none;
}

@media screen and (max-width: 767px){
    .your-class-page{
        width: 14px;
    }
}

.splide__pagination li{
    margin-left: 3px;
    margin-right: 3px;
}
.splide__slide img {
    height: auto;
    width: 100%;
}

/*重要なお知らせ*/
#importantInfo{
    border: 1px solid #ff6666;
    border-radius: 15px;
    max-width: 100%;
    padding: 10px;
}

#importantInfo p.title{
    color: #ff6666;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px;
}

#importantInfo p.text{
    color: #6a6a6a;
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 10px;
    padding: 10px 12px;
}

#importantInfo a{
    background-color: #ff6666;
    border: 1px solid #ff6666;
    border-radius: 7.5px;
    color: #fff;
    font-weight: 700;
    letter-spacing: .15rem;
    padding: 5px 15px;
    transition: .3s;
}

#importantInfo a:hover{
    opacity: .7;
    text-decoration: none;
}

@media screen and (max-width: 767px){
    #importantInfo{
        margin-left: 10px;
        margin-right: 10px;
    }
}

/*クレジットカード（クレカ）バナー*/
.credit-banner {
    background: #fff;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.credit-banner__icon {
    width: 44px;
    height: 44px;
    background: var(--u-ink);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.credit-banner__icon i { color: #fff; font-size: 20px; }
.credit-banner__body { flex: 1; }
.credit-banner__title {
    font-family: var(--u-mincho);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .12em;
    color: var(--u-ink);
    margin: 0 0 6px;
    line-height: 1.5;
}
.credit-banner__text {
    font-size: 14px;
    color: var(--u-sub);
    margin: 0;
    line-height: 1.8;
}
a.credit-banner__btn {
    display: inline-block;
    background: var(--u-ink);
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .16em;
    padding: 10px 24px;
    border-radius: 0;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: opacity .3s;
}
.credit-banner__btn:hover { background: var(--u-ink); opacity: .8; }

@media (max-width: 480px) {
    .credit-banner {
        flex-direction: column;
        align-items: stretch;
        padding: 16px;
    }
    .credit-banner__title { font-size: 14px; }
    .credit-banner__text { font-size: 13px; margin-bottom: 12px; }
    .credit-banner__btn {
        display: block;
        text-align: center;
    }
}

/* スマホヘッダー（未ログイン時のみ）：ロゴ横にメニュー、ボタンは2等分、ゲスト表示は下の行 */
/* .l-nav-cartBox-blank は未ログイン時だけ出る空のカート枠。ログイン時のヘッダーには影響しない */
@media only screen and (max-width: 767px){
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-group01,
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-group01 .l-nav-cartBox{
        position: static;
        transform: none;
        perspective: none;
        transform-style: flat;
        overflow: visible;
        height: 0;
        padding: 0;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-nav-spMenu{
        top: 8px;
        right: 10px;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-userNav{
        height: auto;
        margin-bottom: 12px;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-userNav ul{
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        float: none;
        position: static;
        width: auto;
        margin: 0 10px;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-userNav li{
        display: block;
        flex: 1 1 0;
        margin: 0 !important;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-userNav li .c-button04{
        display: block;
        width: 100%;
        margin: 0;
        padding: 8px 10px;
        text-align: center;
    }
    .u-sp-item:has(.l-nav-cartBox-blank) .l-header-userNav li:not(:has(a)){
        flex-basis: 100%;
        color: var(--u-sub);
        font-size: 1.2rem;
        text-align: right;
    }
}

/* スマホ時：外枠の余白が0になるため、枠線・見出しに左右20pxの余白を付ける */
@media only screen and (max-width: 767px){
    .credit-banner,
    .c-title01,
    .p-news-type-label,
    .c-pager-prev-next,
    #newsPdfDownload{
        margin-left: 20px;
        margin-right: 20px;
    }
}


/* お知らせ詳細：公式サイトの記事のように中央720pxの1カラムにする */
.c-container:has(#newsPdfDownload){
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* 表の枠組みをやめて縦に積む */
#newsPdfDownload .p-cart-address-table,
#newsPdfDownload .p-cart-address-table tbody,
#newsPdfDownload .p-cart-address-table tr,
#newsPdfDownload .p-cart-address-table td{
    display: block;
    width: 100%;
    border: none;
}
#newsPdfDownload .p-cart-address-table th{
    display: none;
}
#newsPdfDownload .p-cart-address-table td{
    padding: 0;
}

/* 日付：小さなグレーの英字書体 */
#newsPdfDownload .p-cart-address-table tr:first-child td{
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.3rem;
    letter-spacing: .12em;
    padding: 20px 0 0;
}

/* 本文デザインの左右余白をなくし、タイトルと端を揃える */
#newsPdfDownload .ukr-news{
    max-width: none;
    padding-top: 32px;
    padding-left: 0;
    padding-right: 0;
}


/* お知らせ詳細：前後の記事リンク */
/* 上のリンクは非表示（本文の下だけ出す） */
.c-container:has(#newsPdfDownload) > span:first-of-type .c-pager-prev-next{
    display: none;
}

/* 下のリンク：左右2マスのボタン */
#newsPdfDownload ~ span .c-pager-prev-next{
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 40px;
    border-top: 1px solid var(--u-ink);
    border-bottom: 1px solid var(--u-line);
}
#newsPdfDownload ~ span .c-prev,
#newsPdfDownload ~ span .c-next{
    float: none !important; /* AladdinECのインライン指定を解除 */
}
#newsPdfDownload ~ span .c-next{
    grid-column: 2;
    text-align: right;
}
#newsPdfDownload ~ span .c-prev + .c-next{
    border-left: 1px solid var(--u-line);
}
#newsPdfDownload ~ span .c-pager-prev-next a{
    display: block;
    height: 100%;
    color: var(--u-ink);
    font-size: 1.4rem;
    letter-spacing: .06em;
    line-height: 1.8;
    transition: opacity .3s;
}
#newsPdfDownload ~ span .c-prev a{ padding: 24px 24px 24px 0; }
#newsPdfDownload ~ span .c-next a{ padding: 24px 0 24px 24px; }
#newsPdfDownload ~ span .c-pager-prev-next a:hover{
    opacity: .55;
    text-decoration: none;
}

/* 「← PREV」「NEXT →」の小さな英字ラベル（元の < > は消す） */
#newsPdfDownload ~ span .c-prev a::before,
#newsPdfDownload ~ span .c-next a::before{
    display: block;
    margin-bottom: 8px;
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.2rem;
    letter-spacing: .2em;
}
#newsPdfDownload ~ span .c-prev a::before{ content: "← PREV"; }
#newsPdfDownload ~ span .c-next a::before{ content: "NEXT →"; }
#newsPdfDownload ~ span .c-next a::after{ content: none; }

/* スマホ：上下2段 */
@media only screen and (max-width: 767px){
    #newsPdfDownload ~ span .c-pager-prev-next{
        grid-template-columns: 1fr;
    }
    #newsPdfDownload ~ span .c-next{
        grid-column: auto;
    }
    #newsPdfDownload ~ span .c-prev + .c-next{
        border-left: none;
        border-top: 1px solid var(--u-line);
    }
    #newsPdfDownload ~ span .c-prev a,
    #newsPdfDownload ~ span .c-next a{
        padding: 20px 0;
    }
}

/*インフォスライダー*/

#splideInfo{
    height: 65px;
    line-height: 65px;
    margin: 0 auto;
    text-align: center;
    width: 100%;
    max-width: 800px;
}

#splideInfo a{
    color: var(--u-ink);
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    text-decoration: none;
}

#splideInfo .tax{
    color: #333;
    font-size: 1.2rem;
}

#splideInfo .region{
    color: #333;
    font-size: 1.2rem;
}

#splideInfo .bold{
    font-weight: 700;
    margin-right: 1rem;
}

#splideInfo .arrow-info{
    background: #fff;
}

.indexMain{
    max-width: 1600px;
    margin: 0 auto;
    padding: 20px 0 156px
}

/*サイドメニュー*/
.indexSide{
    box-sizing: border-box;
    float: left;
    margin-left: 35px;
    width: 230px;
}
.indexMenu{
    position: relative;
    z-index: 100;
}
.indexMenu__primary{
    margin-top: 52px;
}
.indexMenu__primary:first-child{
    margin-top: 0;
}

.indexMenu__label{
    color: var(--u-ink);
    font-size: 14px;
    font-weight: 600;
    font-family: var(--u-mincho);
    letter-spacing: .12em;
}
.indexMenu__labelA{
    display: block;
    background-color: transparent;
    border-bottom: 1px solid var(--u-ink);
    padding: 13px 4px;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94)
}
.indexMenu__labelA:hover{
    opacity: 0.65;
}

.indexMenu__item{
    font-size: 14px;
    position: relative;
}
.indexMenu__item::after{
    content: " ";
    display: block;
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    pointer-events: none;
    border-bottom: 1px solid var(--u-line);
}
.indexMenu__itemA{
    display: block;
    line-height: 1.5;
    padding: 18px 18px 18px 42px;
    position: relative;
    transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94)
}
.indexMenu__itemA--show, .indexMenu__itemA:hover{
    background-color: var(--u-bg);
}
.indexMenu__itemA::before{
    content: " ";
    display: block;
    position: absolute;
    top: 0px;
    left: 19px;
    bottom: 0px;
    width: 4px;
    height: 4px;
    transform: rotate(135deg);
    margin: auto;
    border-top: 1px solid var(--u-sub);
    border-left: 1px solid var(--u-sub);
}
ul.indexMenu__ctgs {
    position: absolute;
    top: -32px;
    left: 160px;
    background-color: rgb(255, 255, 255);
    border-width: 1px;
    border-style: solid;
    border-color: rgb(236, 236, 236);
    border-image: initial;
    opacity: 0;
    padding: 17px 0px;
    pointer-events: none;
    transform: translate3d(5%, 0px, 0px);
    transition: opacity 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 1ms 320ms;
    width: 232px;
    z-index: -9999;
}
ul.indexMenu__ctgs--show {
    z-index: 100;
    pointer-events: auto;
    opacity: 1;
    filter: none;
    transform: translate3d(0%, 0px, 0px);
    transition: opacity 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.indexMenu__ctg-bold {
    font-weight: 700;
    font-family: 游ゴシック, YuGothic, "游ゴシック体 Pr6N B", "Yu Gothic Pr6N B", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}
.indexMenu__ctgA {
    display: block;
    padding: 20px 33px 19px;
    transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.indexMenu__ctgA:hover {
    background-color: rgb(237, 237, 237);
}
/*メインメニュー*/
.indexMain__cont{
    box-sizing: border-box;
    float: right;
    padding-right: 35px;
    width: calc(100% - 346px);
}

.topCtgs{
    margin-bottom: 44px;
}

.topCtgs .sectionTtl {
    float: left;
}

h2.sectionTtl {
    float: left;
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-size: 2.2rem;
    font-weight: 400;
    letter-spacing: .3em;
    margin: 0;
    margin-bottom: 36px;
    padding: 0;
}

.indexPickup__all {
    float: left;
    padding: 7px 0;
    margin-left: 10px;
    border-left: 1px solid #ececec;
}

.indexPickup__allA {
    display: block;
    position: relative;
    padding: 0 9px 0 34px;
    font-size: 13px;
    letter-spacing: .02em;
    -webkit-transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -moz-transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -o-transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -ms-transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.indexPickup__allA:before {
    content: ' ';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 16px;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 2.5px 0 2.5px 3.2px;
    border-color: transparent transparent transparent #000;
    -webkit-transition: -webkit-transform 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -moz-transition: -moz-transform 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -o-transition: -o-transform 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -ms-transition: -ms-transform 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.indexPickup__allA:hover {
    opacity: .6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60);
}
.topCtgs__tabsWrap{
    overflow: auto;
    scrollbar-width: none;
}

.topCtgs__tabs {
    clear: both;
    padding: 0;
    position: relative;
    width: auto;
}
h3.topCtgs_ttl{
    clear: both;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-weight: 600;
    letter-spacing: .12em;
    position: relative;
}
h3.topCtgs_ttl span{
    border-right: 1px solid var(--u-line);
    margin-right: 10px;
    padding-right: 5px;
}
.topCtgs__tabs::after {
    content: " ";
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    border-bottom: 1px solid var(--u-line);
}
.topCtgs__tabList {
    display: flex;
    position: relative;
    z-index: 1;
}
.topCtgs__tab:first-child {
    margin-left: 0px;
}
.topCtgs__tab {
    font-size: 13px;
    letter-spacing: 0.08em;
    margin-left: 0;
    white-space: nowrap;
}

.topCtgs__tab-current .topCtgs__tabA {
    background-color: transparent;
    border-bottom-color: var(--u-ink);
    box-shadow: inset 0 -1px 0 var(--u-ink); /* 下線を2px相当に */
    color: var(--u-ink);
    pointer-events: none;
}
.topCtgs__tabA {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--u-line);
    border-radius: 0;
    color: var(--u-sub);
    display: block;
    letter-spacing: .12em;
    padding: 10px 16px;
    position: relative;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.topCtgs__tabA:hover {
    opacity: 0.65;
}
.topCtgs__cont {
    position: relative;
    padding-bottom: 45px;
    text-align: center;
    overflow: hidden;
}
.topCtgs__cont:last-child{
    border-bottom: 1px solid rgb(238, 238, 238);
}
.topCtgs__contList {
    transition: height 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.topCtgs__contItem {
    top: 0px;
    left: 0px;
    right: 0px;
    opacity: 0;
    padding-top: 20px;
    position: absolute;
    pointer-events: none;
    transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 1ms 200ms;
    z-index: -9999;
}
.topCtgs__contItem-current {
    filter: none;
    opacity: 1;
    position: relative;
    pointer-events: auto;
    transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}
.topCtgs__list {
    display: flex;
    flex-wrap: wrap;
}
.topCtgs__item {
    box-sizing: content-box;
    width: 100px;
    margin: 0px 4px 18px;
}
.topCtgs__itemA {
    display: block;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.topCtgs__thumb {
    width: 80px;
    height: 80px;
    margin: 0px auto;
}
.indexPickup__img {
    -webkit-transition: -webkit-transform 480ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -moz-transition: -moz-transform 480ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -o-transition: -o-transform 480ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -ms-transition: -ms-transform 480ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 480ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.topCtgs__name {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.55556;
    text-align: center;
}
.topCtgs__contBtn {
    display: inline-block;
    background-color: transparent; border: 1px solid var(--u-ink);
    font-size: 13px;
    letter-spacing: .12em;
    text-align: center;
    margin: 20px auto 0px;
    border-radius: 0;
}
.topCtgs__contBtnA {
    display: inline-block;
    position: relative;
    padding: 14px 64px;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.topCtgs__contBtnA:hover {
    opacity: 0.65;
}
.topHits{
    margin-bottom: 35px;
    padding-left: 35px;
}

.topHits__ttl {
    color: var(--u-ink);
    font-size: 1.6rem;
    font-weight: 600;
    font-family: var(--u-mincho);
    letter-spacing: .12em;
}

.topHits__list {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-top: 26px;
    margin-right: -9px;
    font-size: 0;
}
.topHits__item {
    display: inline-block;
    margin-right: 9px;
    margin-bottom: 13px;
}

.top_bg .topHits__itemA {
    display: block;
    padding: 9px 13px;
    border: 1px solid var(--u-line);
    border-radius: 0;
    color: var(--u-ink);
    font-size: 13px;
    letter-spacing: .04em;
    -webkit-transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -moz-transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -o-transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -ms-transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: background-color 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.topHits__itemA:hover {
    background-color: var(--u-bg);
}

/*新着アイテムリストver.2*/
.indexNewArrivals{
    clear: both;
    position: relative;
}

.indexNewArrivals ul.newArrivalscont{
    display: flex;
    flex-wrap:wrap;
    list-style: none;
    margin: 0;
    padding: 16px 0 0;
    width: 100%;
}

.indexNewArrivals ul.newArrivalscont li.newArrival{
    margin: 0 12px 24px 0;
    width: calc(100% / 6 - 10px);
}

.indexNewArrivals ul.newArrivalscont li:nth-of-type(6n){
    margin-right: 0;
}

.newArrivalA{
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.indexNewArrivals figure{
    aspect-ratio: 1 / 1;
    border-radius: 0;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: inherit;
}

.newArrivalImg{
    border-radius: 0;
    margin: 0;
    transition: .6s;
    padding: 0;
}

.status{
    background-color: rgba(255,102,102,0.7);
    border-radius: 0 7.5px 0 7.5px;
    color: #fff;
    margin: 0;
    padding: 4px 8px;
    position: absolute;
        top: 5px;
        right: 5px;
}

.newArrivalImg:hover{
    opacity: 0.8;
    transform: scale(1.07);
}

.indexNewArrivals p.newArrivalName{
    font-size: 1.2rem;
    margin: .5rem 0 0;
    padding: 0;
    position: static;
    text-align: left;
}

.topRank__tabs{
    clear: both;
}

.topRank__tabList {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.topRank__tab {
    font-size: 13px;
    letter-spacing: 0.08em;
    margin-top: 0;
    margin-left: 0;
    width: 25%;
}


.topRank__tab-current .topRank__tabA {
    background-color: transparent;
    border-bottom-color: var(--u-ink);
    box-shadow: inset 0 -1px 0 var(--u-ink); /* 下線を2px相当に */
    color: var(--u-ink);
    pointer-events: none;
    position: relative;
}

@media screen and (max-width: 736px){
    h2.sectionTtl{
        font-size: 1.6rem;
        margin-left: 10px;
        margin-bottom: 3.2rem;
        padding-top: 0.3rem;
    }

    .indexPickup__allA{
        font-size: 1.2rem;
    }

    .topRank__tab {
        width: 50%;
    }
}


.topRank__tabA {
    border: none;
    border-bottom: 1px solid var(--u-line);
    color: var(--u-sub);
    display: block;
    letter-spacing: .12em;
    padding: 10px 8px;
    position: relative;
    text-align: center;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.topRank__tabA:hover {
    opacity: 0.65;
}

.topRank__cont {
    position: relative;
    padding-bottom: 45px;
    text-align: center;
    overflow: hidden;
}

.topRank__cont:last-child{
    border-bottom: 1px solid rgb(238, 238, 238);
}

.topRank__contList {
    transition: height 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.topRank__contItem {
    top: 0px;
    left: 0px;
    right: 0px;
    opacity: 0;
    padding-top: 20px;
    position: absolute;
    pointer-events: none;
    transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), z-index 1ms 200ms;
    z-index: -9999;
}

.topRank__contItem-current {
    filter: none;
    opacity: 1;
    position: relative;
    pointer-events: auto;
    transition: opacity 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}

.topRank__list {
    display: flex;
    flex-wrap: wrap;
}

.topRank__item {
    width: 100px;
    margin: 0px 4px 18px;
}

.topRank__itemA {
    display: block;
    transition: opacity 240ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.rankImgNoImage {
    align-items: center;
    aspect-ratio: 1 / 1;
    background: #f5f5f5;
    border-radius: 0;
    box-shadow: none;
    color: #999;
    display: flex;
    font-size: 12px;
    justify-content: center;
    letter-spacing: .05em;
    width: 100%;
}

@media screen and (max-width: 1080px){
    .indexSide{
        display: none;
    }
    .indexMain__cont {
        float: none;
        width: 90%;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .top_bg_index{
        margin: 0!important;
    }

    .topHits{
        padding: 0;
        width: 100vw;
    }

    .indexMain__cont{
        margin: 0;
        width: 98vw;
    }

    /*Google Chrome、Safariへの対応*/
    .topCtgs__tabsWrap::-webkit-scrollbar{
        display: none;
    }
}
@media screen and (max-width: 736px){
    .indexMain {
        margin-bottom: 0;
        max-width: none;
        padding: 11.2vw 0 0;
    }
    .indexMain__cont {
        float: none;
        width: auto;
        padding: 0;
    }
    .topHits{
        padding-left: 10px;
    }

    .freeEditContent h2{
        font-size: 1.4rem;
    }

    h2.sectionTtl {
        padding-left: 10px;
    }

    h2.topCtgs__ttl {
        font-size: 1.8rem;
        padding-left: 10px;
        margin-bottom: 30px;
    }

    h3.topCtgs_ttl{
        margin-left: 10px;
    }
    .sectionTtl {
        font-size: 6.133333333333333vw;
    }
    .topCtgs__tab{
        font-size: 10px;
    }
    .topCtgs__tabs {
        margin-left: 10px;
        padding: 0;
    }
    .topCtgs__tabA{
        padding: 12px 16px 8px;
    }
    .topCtgs__cont{
        margin-left: 10px;
        padding-bottom: 0;
    }
    .topCtgs__contItem {
        padding: 10px 10px 40px;
    }
    .topCtgs__item {
        margin: 0;
        padding-right: 10px;
        padding-top: 15px;
        width: calc(100% / 4 - 7.5px);
    }
    .topCtgs__item:nth-of-type(4n){
        padding-right: 0;
    }
    .topCtgs__itemA {
        -webkit-transition: none;
        -moz-transition: none;
        -o-transition: none;
        -ms-transition: none;
        transition: none;
    }
    .topCtgs__thumb {
        width: 100%;
        height: auto;
    }
    .indexPickup__img {
        -webkit-transition: none;
        -moz-transition: none;
        -o-transition: none;
        -ms-transition: none;
        transition: none;
    }
    .topCtgs__name {
        font-size: 2.533333333333333vw;
    }
    #topCtgs .topCtgs__contBtn{
        position: relative;
        left: -10px;
    }
    h2.topHits__ttl{
        font-size: 1.4rem;
    }
    .topHits__itemA{
        font-size: 1.2rem;
    }

    ul.topRank__tabList{
        padding: 0 10px;
    }

    .topRank__tab{
        font-size: 10px;
        width: 50%;
    }

    .topRank__cont{
        margin: 0 10px;
        padding-bottom: 0;
    }

    .topRank__contItem {
        padding: 10px 0 40px;
    }

    .indexNewArrivals{
        padding: 0;
    }

    .newArrivalsWrapper{
        overflow-x: auto;
    }

    .indexNewArrivals ul.newArrivalscont{
        flex-wrap: nowrap;
        width: calc(480% + 72px);
    }

    .indexNewArrivals ul.newArrivalscont li.newArrival{
        margin: 0 6px 12px 0;
        width: 40%;
    }

    .indexNewArrivals ul.newArrivalscont li:nth-of-type(6n){
        margin-right: 6px;
    }

    .status{
        font-size: 1.2rem;
        padding: 2px 6px;
    }

    .indexNewArrivals .newArrivalName{
        padding: 0 5px;
    }
}
/*=======================================================ピックアップカテゴリー=======================================================*/
.grid_wrapper_pikuUpCate{
    clear: both;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin-bottom: 144px;
}

.grid_pikuUpCate a{
    color: rgba(0,0,0,1);
    text-decoration: none;
    transition: .4s;
}

.grid_pikuUpCate a:hover{
    opacity: .7;
    text-decoration: none;
}

.layer_img_text{
    overflow: hidden;
    position: relative;
    text-align: center;
}

.layer_img_text img{
    display: block;
    border-radius: 0;
}

/* 文字が読めるように、画像の下側だけ薄く暗くする */
.layer_img_text::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 45%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .55));
    pointer-events: none;
}

.layer_img_text .c_text{
    position: absolute;
        right: 8px;
        bottom: 8px;
        left: 8px;
    z-index: 1;
    margin: 0;
    padding: 0;
    color: #fff;
    font-family: var(--u-mincho);
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.4;
    text-align: left;
}

@media screen and (max-width: 767px){
    .grid_wrapper_pikuUpCate{
        grid-template-columns: repeat(3, 1fr);
        margin: 10px;
        margin-bottom: 72px;
    }
    
    .layer_img_text p.c_text{
        right: 6px;
        bottom: 6px;
        left: 6px;
        font-size: 1.1rem;
    }
}

/*=======================================================特集トップページ=======================================================*/
.topFeature{
    clear: both;
    margin-bottom: 80px;
    padding: 0;
}

.topFeature ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.topFeature ul li{
    list-style: none;
    padding: 0;
}

@media screen and (min-width: 768px){
    .topFeature > ul > li{
        margin-bottom: 11px;
        width: calc(100% / 3 - 8px)
    }

    .topFeature > ul > li:not(:nth-child(3n)){
        margin-right: 11px;
    }
}

@media screen and (max-width: 767px){
    .topFeature{
        padding: 0 10px;
    }

    .topFeature > ul > li{
        margin-bottom: 12px;
        width: calc(100% / 2 - 6px)
    }

    .topFeature > ul > li:nth-child(2n){
        margin-left: 12px;
    }
}

.topFeature a{
    transition: .3s;
}

.topFeature img{
    border-radius: 0;
    transition: .3s;
}

/* 特集カード（TOP・特集一覧で共通） */
.featureCard__link{
    display: block;
    color: var(--u-ink);
    transition: opacity .3s;
}
.featureCard__link:hover{
    opacity: .7;
    text-decoration: none;
}
.featureCard__thumb{
    position: relative;
    margin: 0;
    aspect-ratio: 1104 / 820; /* 特集サムネの元画像の比率 */
    overflow: hidden;
    background: var(--u-bg);
    border: 1px solid var(--u-line);
}
.featureCard__thumb img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.featureCard__noimg{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.2rem;
    letter-spacing: .2em;
}
.featureCard__new{
    position: absolute;
    top: 0;
    left: 0;
    padding: 4px 10px;
    background: var(--u-ink);
    color: #fff;
    font-family: var(--u-serif-en);
    font-size: 1.1rem;
    letter-spacing: .2em;
}
.featureCard__title{
    margin: 12px 0 0;
    font-family: var(--u-mincho);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.6;
}
ul.featureCard__tags{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
}
.featureCard__tags li{
    border: 1px solid var(--u-line);
    padding: 2px 8px !important; /* .topFeature ul li の padding:0 より優先 */
    color: var(--u-sub);
    font-size: 1.1rem;
    letter-spacing: .08em;
}
.featureCard__tags a{
    color: var(--u-sub);
}
.featureCard__tags li:has(a):hover{
    border-color: var(--u-ink);
}
.featureCard__tags a:hover{
    color: var(--u-ink);
    text-decoration: none;
}


/* 特集一覧ページ（ct=48）：タグボタン */
ul.featureFilter{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}
ul.featureFilter > li{
    margin: 0;
    padding: 0;
}
.featureFilter button{
    padding: 8px 18px;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: transparent;
    color: var(--u-ink);
    font-size: 1.3rem;
    letter-spacing: .12em;
    cursor: pointer;
    transition: background-color .3s, color .3s;
}
.featureFilter button:hover,
.featureFilter button.is-active{
    background: var(--u-ink);
    color: #fff;
}

/* 特集一覧ページ（ct=48）：カードの並び */
ul.featureGrid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.featureGrid > li{
    margin: 0;
    padding: 0;
}
.featureGrid__empty{
    grid-column: 1 / -1;
    padding: 40px 0;
    color: var(--u-sub);
    text-align: center;
}

@media (max-width: 767px){
    ul.featureFilter{
        gap: 6px;
        margin-bottom: 24px;
    }
    .featureFilter button{
        padding: 6px 12px;
        font-size: 1.2rem;
    }
    ul.featureGrid{
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 10px;
    }
}

/*=======================================================コンテンツNew=======================================================*/
#rankAll.is-initialized:not(.is-active) .splide__list,
#rankZakka.is-initialized:not(.is-active) .splide__list,
#rankWasou.is-initialized:not(.is-active) .splide__list,
#rankSeason.is-initialized:not(.is-active) .splide__list{
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, 1fr);
}

#rankAll .splide__track{
    padding: 2px 5px;
}

.rankA{
    display: block;
    position: relative;
    transition: .3s;
    vertical-align: middle;
    width: 100%;
}

.rankA:hover{
    opacity: .65;
}

.rankingNumBox{
    align-items: center;
    background-color: #fff;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    color: var(--u-ink);
    display: flex;
    height: 36px;
    justify-content: center;
    position: absolute;
        top: 0;
        left: 0;
    transition: .3s;
    width: 36px;
}

/* 1〜3位は墨色ベタ */
.rankingNumBox__1,
.rankingNumBox__2,
.rankingNumBox__3{
    background-color: var(--u-ink);
    border-color: var(--u-ink);
    color: #fff;
}

.rankingNum{
    font-family: var(--u-serif-en);
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
}

.rankName{
    padding: 5px;
}

#top-ranking-cont007{
    margin-bottom: 45px;
    text-align: start;
}

#top-ranking-cont007 .splide__arrow{
    background: rgba(0,0,0,0);
}


/*=======================================================ランキング=======================================================*/
img.rankImg{
    border: 1px solid var(--u-line);
    border-radius: 0;
    box-shadow: none;
}

.p-ranking-icon{
    background-color: rgba(0,0,0,0.8);
    border-radius: 0;
    font-weight: 400;
    left: 0;
    top: 0;
}

#js-top-ranking .p-itemLayout-grid .p-item-name{
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.05rem;;
}

@media only screen and (max-width: 767px){
    .p-ranking-icon{
        border-radius: 0;
        left: 0;
    }

    .rankingNumBox{
        height: 30px;
        width: 30px;
    }

    .rankingNum{
        font-size: 1.6rem;
    }
}
/*=======================================================トップバナー上=======================================================*/
.topSlider{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
}

.sliderWraper{
    margin: 0 auto;
    padding: 0;
}

.mainSlider1 img{
    transition: opacity .4s;
    width: 3000px;
    max-width: 100%;
}

.mainSlider1 img:hover{
    opacity: 0.7;
}

.mainSlider1 .slick-slide{
    margin-right: 0!important;
    margin-left: 0!important;
}

.mainSlider1 .slick-dots{
    margin: 0;
    padding: 0;
    text-align: center;
}

.mainSlider1 .slick-dots li{
    margin: 0 5px;
}

.mainSlider1 .slick-dots li:first-child{
    margin-left: 0;
}

.mainSlider1 .slick-dots li button{
    position: relative;
}

.mainSlider1 .slick-dots li button:before{
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 0;
    background-color: #333333;
    margin-top: 15px;
}

@media screen and (min-width: 768px){

    .main_img_top ul{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        margin: 0;
        padding: 0;
        margin-top: 20px;
    }

    .main_img_top ul li{
        list-style: none;
        width: calc(100% - 10px);
    }

    .main_img_top ul li:not(last-child){
        margin-right: 20px;
    }
}

.top_bg{
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 0;
    margin-bottom: 0;
}

.bg_gray{
    background: #f6f6f6;
    margin-top: 50px;
    padding-bottom: 6rem;
}

.top_bg .content_wrapper{
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

.accountMove{
    margin-top: 50px;
}

.accountMove p:not(:first-child){
    margin-top: 10px;
}

.accountMove a{
    display: inline;
    color: #002155;
    text-decoration: underline;
    font-weight: 700;
    font-size: 1.4rem;
    transition: opacity .4s;
}

.accountMove a:hover{
    opacity: 0.7;
}

/*=========================================================動画========================================================*/
#mov{
    margin-bottom: 45px;
}

#mov .splide__arrow{
    background: #000;
}

#mov .splide__arrow svg{
    fill: #fff;
}

#mov li{
    position: relative;
}

#mov img:hover{
    opacity: 0.9;
    transition: .3s;
}

#mov .exMovie{
    border-radius: 15px;
}

#mov .movTimes{
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    background-color: rgba(0,0,0,0.6);
    border-radius: 2px;
    color: #fff;
    display: inline-block;
    font-family: "Roboto","Arial",sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.8rem;
    padding: 0 4px;
}

@media screen and (max-width: 767px){
    ul#mov{
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        margin-left: 10px;
        overflow-x: auto;
    }

    ul#mov li{
        max-width: 75%;
        margin-right: 10px;
        flex-shrink: 0;
    }
}

/*=======================================================新着商品=======================================================*/
.newArrivals .newItem{
    margin: 0 5px;
}

.newArrivals .newItem p{
    font-weight: 700;
    margin-top: 5px;
}

.newArrivals .newItem a:hover{
    opacity: .8;
    text-decoration: none;
}

/*矢印設定*/
.newArrivals .slick-arrow {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    padding: 0;
    width: 20px;
    height: 38px;
    color: transparent;
    z-index: 1;
    transition: opacity 0.5s;
    z-index: 1;
}
.newArrivals .slick-arrow:hover {
    opacity: 0.7;
}

/*もっとみるボタン*/

.newArrivals .newmore a{
    display: inline-block;
    background-color: rgba(51, 51, 51, 0);
    border: 1px solid #333333;
    color: #333;
    letter-spacing: .3rem;
    padding: 10px 25px;
    margin: 40px auto 0;
    transition: .4s;
}

.newArrivals .newmore a:hover{
    background-color: rgba(51, 51, 51, 1);
    color: #fff;
    text-decoration: none;
}

/* 共通設定 */

.newArrivals .slick-next::before,
.newArrivals .slick-next::after,
.newArrivals .slick-prev::before,
.newArrivals .slick-prev::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.newArrivals .slick-next::after,
.newArrivals .slick-prev::after {
    width: 15px;
    height: 15px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

@media screen and (max-width: 834px){
    .newArrivals .slick-next::before,
.newArrivals .slick-next::after,
.newArrivals .slick-prev::before,
.newArrivals .slick-prev::after{
    display: none;
}
}

.resetDiv{
    margin: 0;
    padding: 0;
}

/* next */

.newArrivals .slick-next {
    right: -26px;
}
.newArrivals .slick-next::after {
    right: -4px;
    transform: rotate(45deg);
}

/* prev */

.newArrivals .slick-prev {
    left: -26px;
}
.newArrivals .slick-prev::after {
    left: -4px;
    transform: rotate(-135deg);
}

/*インジケーター*/

.newArrivals .slick-dots{
    margin: 0;
    padding: 0;
    text-align: center;
}

.newArrivals .slick-dots li{
    margin: 0 5px;
}

.newArrivals .slick-dots li:first-child{
    margin-left: 0;
}

.newArrivals .slick-dots li button{
    position: relative;
}

.newArrivals .slick-dots li button:before{
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 0;
    background-color: #333333;
    margin-top: 15px;
}

/*=======================================================おすすめ商品=======================================================*/
.is-hide {
	display: none;
}

.form_wrap{
    margin: 10px;
}

.form_wrap p{
    color: #555;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .2rem;
    margin: 5px 0;
}

.search-box__wrap{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.search-box input, .search-box2 input{
    display: none;
}

.search-box__wrap .search-box, .search-box__wrap .search-box2{
    margin: 0 1rem 1rem 0;
}
.search-box__wrap .search-box , .search-box__wrap .search-box2{
	input[type="checkbox"],
	input[type="radio"]{
		display: none;
		&:checked + label{
            background-color: #00acee;
			color: #fff;
		}
	}
	label{
		background: #fff;
		border-radius: 2px;
        color: #00acee;
        font-size: 1.2rem;
        letter-spacing: 0.2rem;
        padding: 4px 10px;
		transition: all .2s;
        &:before{
            content: '#';
            display: none;
        }
        &:before{
            display: none;
        }
		&:hover{
			background-color: #dfdfdf;
			cursor: pointer;
		}
	}
}

.list{
	display: flex;
    flex-wrap: wrap;
	justify-content: flex-start;
    list-style-type: none;
    max-width: 100%;
}
ul.list{
    list-style: none;
    margin: 0 10px;
}

ul.list li{
    list-style: none;
}

.list_item{
    border: 1px solid #aaa;
    box-sizing: border-box;
    background-color: #fff;
    margin-right: -1px;
    margin-top: -1px;
	padding: 0;
    position:relative;
    width: calc(100% / 5);
}

.list_item a{
    transition: .3s;
}

.list_item a:hover{
    opacity: .6;
    text-decoration: none;
}

li.list_item img{
    border-bottom: 1px solid #ccc;
    width: 100%;
}

.tag_content{
    display: flex;
    flex-direction: column;
    position: relative;
    transition: .3s;
}

.tag_content .title{
    color: #333;
    font-weight: 700;
    height: 60px;
    margin: 0 0 5px;
    overflow: hidden;
    padding: 10px;
}

.tag_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 7px;
    padding: 0 10px;
}

.tag_wrap .search-box2{
    margin: 0 5px 3px 0;
    input[type="checkbox"],
	input[type="radio"]{
		display: none;
    }
    
    label{
        background-color: #00acee;
        border-radius: 2px;
        color: #fff;
        font-size: 1rem;
        letter-spacing: 0.2rem;
        padding: 4px 8px;
    }
}

.tag_wrap .search-box2 label:before{
    content: '#';
    display: none;
}

@media (max-width: 767px){
    ul.list{
        margin: 0;
    }

    .form_wrap{
        margin: 10px;
    }

    .list_item{
        left: 1px;
        width: calc(100% / 3);
    }

    .tag_content .title{
        height: 55px;
    }
}


/*=======================================================特集から選ぶ=======================================================*/
.pickupitems ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
    }

.pickupitems ul li{
    width: 800px;
    max-width: calc(100% / 4 - 12px);
    list-style: none;
    margin: 0px 12px 12px 0px;
    }

.pickupitems ul li::nth-child(4n){
    margin-right: 0;
}

.pickupitems img{
    transition: transform .3s ease-out, box-shadow .3s ease-out;
}

.pickupitems img:hover{
    position: relative;
    transform: translateY(-5px);
    box-shadow: 0px 6px 15px 3px rgba(19, 19, 19, 0.25);
}

/*=======================================================人気のカテゴリー=======================================================*/
.popular_category .tabGroup{
    margin: 0;
    padding: 0 15px;
}

.popular_category .tabGroup .tabMenu{
    list-style: none;
    margin: 0 0 25px 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.popular_category .tabGroup .tabMenu li{
    position: relative;
    list-style: none;
    max-width: 25%;
    padding: 5px 20px;
    margin: 0;
    text-align: center;
    background-color: #fff;
    color: #333333;
    border: 1px solid #333333;
    border-radius: 90px;
    font-size: 1.4rem;
    font-weight: 400;
    cursor: pointer;
}

.popular_category .tabGroup .tabMenu li:not(:first-child){
    margin-left: 15px;
}

.popular_category .tabGroup .tabMenu .active{
    background: #333333;
    color: #fff;
    border-bottom: none;
    font-weight: 900;
}

.popular_category .tabContent{
    display: none;
    padding: 15px auto 0;
}


.popular_category .tabContent ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.popular_category .tabContent ul li{
    width: calc(100% / 6 - 16.5px);
    list-style: none;
    margin: 0 15px 15px 0;
    text-align: center;
    box-shadow: 0px 0px 15px -5px #d6d6d6;
    border-radius: 10px;
    border: 2px solid #fff;
    transition: border .3s;
}

.popular_category .tabContent ul li img{
    margin-bottom: 5px;
}

.popular_category .tabContent ul li a{
    display: block;
    padding: 10px 20px;
    font-weight: 700;
    transition: color .3s;
}

.popular_category .tabContent ul li:hover{
    border: 2px solid #37a4f2;
}

.popular_category .tabContent ul li a:hover{
    text-decoration: none;
}

@media screen and (min-width: 768px){
    .popular_category .tabContent ul li:nth-of-type(6n){
        margin-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .popular_category .tabContent ul li:nth-of-type(3n){
        margin-right: 0;
    }
}

.popular_category .active{
    display: block;
    padding: 20px 0;
}

@media screen and (min-width: 768px){
    .popular_category .tabGroup .tabMenu li:hover:after{
        position: absolute;
        content: "";
        margin: 0 auto;
        left: 45%;
        bottom: -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
        border-top: 10px solid #333333;
        border-bottom: 0;
        z-index: -1;
        }

    .popular_category .tabGroup .tabMenu .active:after{
        position: absolute;
        content: "";
        margin: 0 auto;
        left: 45%;
        bottom: -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
        border-top: 10px solid #333333;
        border-bottom: 0;
        z-index: -1;
    }
}

/*=======================================================カタログから選ぶ=======================================================*/
.catalogSlider1 .slick-list{
    overflow: visible !important;
}

.catalogSlider1 .slick-slide{
    margin: 0 3vw;
    padding: 0 0 20px;
}

.catalogSlider1 img{
    box-shadow: 5px 5px 15px -3px #808080;
    transition: opacity .4s;
}

.catalogSlider1 img:hover{
    opacity: 0.7;
}

.catalogSlider1 .slick-track {
	display: flex;
	align-items: center;
}

.catalogSlider1 .slick-dots{
    margin: 0;
    padding: 0;
    text-align: center;
}

.catalogSlider1 .slick-dots li{
    margin: 0 15px;
}

.catalogSlider1 .slick-dots li:first-child{
    margin-left: 0;
}

.catalogSlider1 .slick-dots li button{
    position: relative;
}

.catalogSlider1 .slick-dots li button:before{
    content: "";
    width: 30px;
    height: 5px;
    border-radius: 0;
    background-color: #333333;
    margin-top: 15px;
}

/*=======================================================ブランドから選ぶ=======================================================*/
.select_from_brand ul{
    list-style: none;
    margin: 0 0 0 2px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}

.select_from_brand ul li{
    list-style: none;
    width: calc(100% / 6 + 2px);
    margin: 0;
    margin-left: -2px;
    margin-top: -2px;
    position: relative;
    transition: z-index .4s;
}

.select_from_brand ul li:hover{
    z-index: 1;
}

.select_from_brand ul li a{
    display: block;
    padding: 5px;
    border: 2px solid #e5e5e5;
}

.select_from_brand ul li a:hover{
    border: 2px solid #37a4f2;
}

.btn,
a.btn,
button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1rem;
    color: #212529;
    border-radius: 0.5rem;
}

/*=======================================================注文履歴=======================================================*/
/* 注文履歴：明細エリア */
.js-order-info-disp-field{
    background-color: var(--u-bg);
}

.js-order-info-disp-field li{
    background-color: #fff;
}

.js-order-info-disp-field table th,
.js-order-info-disp-field table td,
.js-order-info-disp-field .p-order-inline-list > span,
.js-order-info-disp-field .p-order-detail-inline > *{
    border-color: var(--u-line) !important;
}

/* 注文履歴：一覧の表 */
.p-order-table th,
.p-order-table td{
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--u-line);
}
.p-order-table tr:first-child th{
    border-top: 1px solid var(--u-ink);
    background: none;
    color: var(--u-sub);
    font-weight: 400;
}
.p-order-table .js-order-info .fa{
    color: var(--u-ink) !important; /* JSのインライン色を上書き */
}

/* 並び替え順を編集 */
.p-edit-usercharge-sort{
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    transition: background-color .3s, color .3s;
}
.p-edit-usercharge-sort:hover{
    background: var(--u-ink);
    color: #fff;
}

/* 合計表（注文履歴・カート共通） */
.p-cart-total-tableWrap table th,
.p-cart-total-tableWrap table td{
    border-color: var(--u-line);
}
.p-cart-total-tableWrap span{
    color: var(--u-ink);
}

/* 検索条件ボックス（左側） */
.p-search-box{
    background: var(--u-bg);
}
.p-search-box .c-title01{
    margin: 0 0 16px;
    padding: 12px 16px 10px;
    border: none;
    border-bottom: 1px solid var(--u-ink);
    background: none;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .12em;
}
.p-search-box .c-form-item-title{
    color: var(--u-ink);
    font-size: 1.2rem;
    font-weight: 600;
}
.p-search-box input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
.p-search-box .c-form-selectWrap{
    border: 1px solid var(--u-line);
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}
.p-search-box .p-search-submit{
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: var(--u-ink);
    color: #fff;
    letter-spacing: .14em;
    transition: opacity .3s;
}
.p-search-box .p-search-submit:hover{
    opacity: .8;
}

/* 再注文などのオレンジボタン（c-button01）を共通のオレンジに */
.c-button01{
    border-color: var(--u-accent);
    border-radius: 0;
    background: var(--u-accent);
    color: #fff;
    transition: opacity .3s;
}
.c-button01:hover{
    background: var(--u-accent);
    opacity: .85;
}

/* 注文履歴：タブレット・スマホ */
@media (max-width: 1024px){
    #orderSearch .l-contents-col2-l .l-contents-main{
        float: none;
        width: auto;
    }
}

/* 注文履歴：スマホ */
@media (max-width: 1024px){
    #orderSearch .l-contents-col2-l .l-contents-main{
        float: none;
        width: auto;
    }
    .p-order-table tr{
        border: none;
    }
    .p-order-table tr:has(> th){
        display: none; /* スマホでは見出し行を隠す */
    }
    .p-order-table tr > td:first-child{
        border-top: 1px solid var(--u-ink);
    }
    .p-order-table td{
        border-bottom: 1px solid var(--u-line);
    }
}
/* スマホの「条件から検索する」 */
.p-search-button .c-button02{
    background: #fff;
    color: var(--u-ink);
    letter-spacing: .1em;
}
.p-search-button .c-button02 .fa{
    color: var(--u-ink);
}


.p-order-table-invoice a {
    color: #007bff;
    text-decoration: underline;
    cursor: pointer;
}

.p-order-table-invoice a:hover {
    color: #0056b3;
    text-decoration: underline;
}

@media only screen and (max-width: 1024px){
    .js-order-info-field-1{
        position: relative;
    }

    .p-order-table .p-open-button-field{
        border-bottom: none;
        display: block;
    }

    .p-open-button-field span{
        position: absolute;
        top: 10px;
        right: 5px;
    }
}

/*=======================================================スマホ利用時のトップボタン=======================================================*/

@media only screen and (max-width: 767px){
.l-nav-gnav-item {
    background: #f6f6f6;
    border-radius: 0;
    border: none;
    padding-bottom: 8px;
    padding-top: 8px;
}

.l-nav-itemNav-list a{
    color: #333;
}
}
/*=======================================================カートボタン変更=======================================================*/

.c-button05 {
    background-color: var(--u-accent);
    border: none;
    border-radius: 0;
    color: #fff;
    letter-spacing: .1em;
    transition: opacity .3s;
}

.c-button05:hover{
    background-color: var(--u-accent);
    opacity: .85;
    color: #fff;
}

.c-button05 .fa{
    margin-right: 6px;
}

.l-nav-cartButton{
    background: var(--u-accent);
}

.c-button02{
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: var(--u-ink);
    color: #fff;
    transition: opacity .3s;
}
.c-button02:hover{
    background: var(--u-ink);
    opacity: .8;
}

/*=======================================================特定商取引法に基づく表記=======================================================*/
.p-item-table-label a{
    display: inline-block;
    background: #333333;
    color: #fff;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 3px;
    text-decoration: none;
    margin-right: 3px;
    transition: .3s;
}

.p-item-table-label a:hover{
    opacity: 0.8;
    cursor: pointer;
    text-decoration: none;
}

.p-item-table-label ul, .p-item-table-label ol{
    padding: 0;
    margin: 0 0 0 15px;
}

/*=======================================================商品詳細ページ スマホバリエーションスクロールボタン=======================================================*/
.p-scroll-to-cart-btn {
    display: block;
    width: 100%;
    padding: 10px 8px;
    margin: 12px 0;
    background-color: #1a56a0;
    color: #fff !important;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    border-radius: 4px;
    text-decoration: none;
    box-sizing: border-box;
}
@media (min-width: 769px) {
    .p-scroll-to-cart-btn { display: none; }
}


/* ========================================
    商品説明文 SEOテンプレート用スタイル
======================================== */

.p-text-from-richtext div.seoD p {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 20px;
}

.p-text-from-richtext h2.seoH {
    font-size: 15px !important;
    font-weight: bold;
    color: #1a56a0;
    border-left: 4px solid #1a56a0;
    padding: 6px 12px;
    margin: 24px 0 12px;
    background-color: #f0f5fb;
    border-radius: 0 4px 4px 0;
    line-height: 1.6;
}

.p-text-from-richtext ul.seoU {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

.p-text-from-richtext ul.seoU li {
    list-style: none !important;
    padding: 7px 12px 7px 28px !important;
    position: relative;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
    border-bottom: 1px solid #f0f0f0;
}

.p-text-from-richtext ul.seoU li:last-child {
    border-bottom: none;
}

.p-text-from-richtext ul.seoU li::before {
    content: '✓';
    position: absolute;
    left: 8px;
    color: #1a56a0;
    font-weight: bold;
}

  /* ・などのデフォルトマーカーを非表示 */
.p-text-from-richtext ul.seoU li::marker {
    content: '';
}

.p-text-from-richtext div.seoD strong {
    color: #1a56a0;
    font-weight: bold;
}

@media (max-width: 768px) {
    .p-text-from-richtext h2.seoH {
        font-size: 14px !important;
    }
    .p-text-from-richtext ul.seoU li {
        font-size: 13px;
    }
}

/*=======================================================商品詳細ページ=======================================================*/
.P_attentionText {
    background-color: #ff6666;
    border-radius: 15px;
    color: #fff;
    font-weight: 700;
    line-height: 2;
    padding: 12px 20px;
    width: fit-content;
}

.P_attentionText::before {
    color: #FFD700;
    font-family: "Font Awesome 6 Free";
    content: "\f071";
    font-weight: 900;
    margin-right: 8px;
}

.productDetailExplains{
    color: #9a9a9a;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

ul.expQuestions{
    display: flex;
    flex-wrap: wrap;
}

li.qList{
    border-bottom: 1px dashed #9a9a9a;
    margin-right: 40px;
    padding: 12px 0 4px; 
    width: calc(100% / 2 - 40px);   
}

li.qList{
    
}

li.qList a{
    display: block;
    height: 100%;
    padding-left: 2px;
    width: 100%;
}

li.qList a:hover{
    opacity: 0.7;
    text-decoration: none;
}

@media screen and (max-width: 767px){

    li.qList{
        margin-right: 10px;
        width: calc(100% / 2 - 10px);   
    }
}

.p-itemDetail-memo-list{
    padding-top: 0;
}
/*=======================================================商品詳細ページ（ゴジラアコーディオン）=======================================================*/
.accordionGD  {
    margin: 30px auto;
}

.accordionGD_title {
    position: relative;
    border: none;
    display: block;
    list-style: none;
    width: 100%;
    cursor: pointer;
    background: #ffffff;
    border: 2px solid #ff6666;
    border-radius: 5px;
    padding: 1.4em 1.6em 1.4em;
    line-height: 1.6em;
    color: #ff6666;
}

summary.accordionGD_title::-webkit-details-marker {
    display:none;
}

.accordionGD_title:after {
    content: "+";
    position: absolute;
    top: calc(50% - 0.5em);
    right: 20px;
    line-height: 1;
    padding: 0;
    pointer-events: none;
}

.accordionGD::details-content {
    opacity: 0;
    block-size: 0;
    transition: .3s;
    transition-property: display, opacity, block-size, padding;
    transition-behavior: allow-discrete;
    line-height: 1.6em;
    padding: 0 1.6em;
    }

.accordionGD .accordionGD_content {
    padding: 0 1.6em;
}

.accordionGD .accordionGD_content > *:first-of-type {
    margin-top: 0;
}

.accordionGD .accordionGD_content > *:last-of-type {
    margin-bottom: 0;
}

.accordionGD[open]::details-content {
    opacity: 1;
    block-size: auto;
    block-size: calc-size(auto, size);
}

.accordionGD[open] .accordionGD_content {
    padding: 1.4em 2em 1.4em 3em;
}

.accordionGD[open] .accordionGD_title:after {
    content: "-";
}


/*=======================================================商品詳細ページ（江戸一注意喚起）=======================================================*/
/* 規約ボックスの外枠 */
.edochi-notice-container {
    margin: 20px 0;
    padding: 20px;
    border: 2px solid #d32f2f;
    background-color: #fffafb;
    border-radius: 8px;
    font-family: sans-serif;
}
.edochi-notice-title {
    font-size: 18px;
    font-weight: bold;
    color: #d32f2f;
}
/* ボタン */
.slider-trigger-btn {
    display: block;
    padding: 12px 24px;
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}
/* スライダー内画像 */
.splide__slide img {
    width: 100%;
    height: auto;
}

/*=======================================================サムネイル画像改変=======================================================*/

.p-item-thumb-l .imgUrl{
    max-height: 100%;
}

@media screen and (min-width: 768px){
    .p-item-thumb-l{
        text-align: left;
    }
}

.p-item-thumb-s li{
    border: 1px solid #ccc;
    border-radius: 10px;
    height: auto;
}

.p-item-thumb-s li:hover{
    opacity: 0.8;
}

.p-item-thumb-s li.js-active{
    border: 1px solid #ff6666;
}



/*=======================================================カタログ説明エリア=======================================================*/

.saijiki_exp_content{
    display: flex;
}

.saijiki_exp_box{
    background: #e0a858;
    border-radius: 10px;
    padding: 20px;
}

@media screen and (min-width: 768px){
    .saijiki_exp_box{
        width: calc(25% - 18px);
        margin-bottom: 20px;
    }

    .saijiki_exp_box:not(:last-child){
        margin-right: 24px;
    }
}

@media screen and (max-width: 767px){
    .saijiki_exp_content{
        flex-wrap: wrap;
    }

    .saijiki_exp_box{
        width: 100%;
}
    .saijiki_exp_box:not(last-child){
        margin-bottom: 15px;
    }
}

.saijiki_exp_box .title{
    background-color: #fff;
    border-radius: 90px;
    color: #e0a858;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 5px;
    text-align: center;
    width: 30px;
    height: 30px;

}

.saijiki_exp_box img{
    display: block;
    margin: auto;
    width: 200px;
    max-width: 100%;
}

.saijiki_exp_box a{
    background-color: #e0a858;
    border: 1px solid #fff;
    color: #fff;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    margin: 15px auto auto;
    padding: 3px 10px;
    text-align: center;
    text-decoration: none;
    transition: .4s;
}

.saijiki_exp_box a:hover{
    background-color: #fff;
    color: #e0a858;
    text-decoration: none;
}

.saijiki_exp_box p{
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
}

.saijiki_exp_box span{
    font-weight: 700;
}

/*=======================================================特集ページ=======================================================*/

.dispnone{
    display: none;
}
.tokushu{
    color: #333;
    font-size: 1.6rem;
    margin-bottom: 20px;
}
.tokushu h4{
    margin-bottom: .33em;
}
.tokushu p{
    padding-bottom: 20px;
}
.tokushu strong{
    letter-spacing: 0.3rem;
}
.topArea{
    margin-bottom: 40px;
}
.topArea img{
    width: 100%;
    margin-bottom: 40px;
}
.mokuji{
    marign: 0;
    padding: 0;
}
.mokujiHeader{
    text-aling: center;
}
.mokujiHeader p{
    display: inline;
    background-color: #2589d0;
    color: #fff;
    padding: 10px 20px;
    width: 100%;
}
.mokujiNakami ol li{
    margin-top: 15px;
}
.mokujiNakami ol a{
    color: #2589d0;
}
#t_jikatabi01{
    margin-top: 160px;
}
#t_jikatabi02, #t_jikatabi03, #t_jikatabi04{
    margin-top: 240px;
}
@media screen and (max-width:767px) {
    #t_jikatabi01, #t_jikatabi02, #t_jikatabi03, #t_jikatabi04{
        margin-top: 80px;
}
}
@media screen and (min-width:768px) {
    .mainItemAreaFlex{
        display: flex;
        flex-wrap: nowrap;
    }
    
    .imgArea{
        width: 35%;
    }
}
.splide__track--nav>.splide__list>.splide__slide.is-active{
    border: 2px solid #ff6666;
}
.texrArea{
    margin: 40px 0;
    padding: 0 10px;
}
.details table{
    width: 100%;
}
.details tr, .details th, .details td{
    border: 1px solid #ccc;
    border-collapse: collapse;
    padding: 5px 10px;
    vertical-align: middle;
}
.details th{
    background-color: #f3f3f3;
}
.details th.merit{
    color: #2589d0;
}
.details th.demerit{
    color: #ff6666;
}
.variations ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}
.variations ul > li{
    list-style: none;
    margin: 0;
    margin-bottom: 20px;
    padding: 0;
    position: relative;
    
}

.variations3 li{
    width: calc(100% / 3 - 10px);
}

.variations3 li:not(:nth-child(3n)){
    margin-right: 10px;
}

@media screen and (min-width:768px) {
    .variations4 li{
        width: calc(100% / 4 - 10px);
    }
    
    .variations4 li:not(:nth-child(4n)){
        margin-right: 10px;
    }
}



@media screen and (max-width:767px) {
    .variations4 li{
        width: calc(100% / 2 - 10px);
        margin-bottom: 10px;
    }
    
    .variations4 li:not(:nth-child(2n)){
        margin-right: 10px;
    }
}

.variations a{
    transition: .3s;
}

.variations img{
    transition: .3s;
}
.variations p{
    background-color: rgba(0,0,0,0.7);
    color: #fff;
    padding: 2px 5px;
    position: absolute;
        top: 5px;
        right: 5px;
}
.variations button{
    background-color: #FBB161;
    color: #fff;
    display: block;
    margin: 0;
    padding: 10px;
    transition: .3s;
    width: 100%;
}
.variations a:hover{
    text-decoration: none;
}
.variations a:hover img{
    opacity: 0.8;
}
.variations a:hover button{
    opacity: 0.8;
}

/************************************
** 評価グラフ
************************************/
.pb-rating-graph {
    box-shadow: 0 3px 5px rgba(0, 0, 0, .07);
    width: 100%;
    margin: 0 auto 2em;
    padding: 2.5em 2em!important;
    color: #333;
    background: #fafafa;
}
.pb-rating-graph ul {
    margin: 0!important;
    padding: 0!important;
    border: none!important;
}
.pb-rating-graph ul li {
    list-style: none!important;
    margin: 0 !important;
    padding: 0 !important;
}
.pb-rating-graph ul li:before {
    content: unset !important;
}
.pb-rating-graph__label {
    background: #71828A;
    color: #fff;
    display: inline-block;
    padding: 6px 15px;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
}
.pb-rating-graph__wrap {
    display: flex;
    margin: 20px 0;
}
.pb-rating-graph li:last-child .pb-rating-graph__wrap {
    margin: 20px 0 0;
}
.pb-rating-graph__axis {
    width: 70%;
    margin-top: 10px;
    position: relative;
    display: flex;
    justify-content: space-between;
}
.pb-rating-graph__axis:before {
    content: "";
    display: inline-block;
    height: 5px;
    background: #E3E6E7;
    width: 100%;
    position: absolute;
}
.pb-rating-graph__basis {
    width: 15%;
    color: #71828A;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
}
.pb-rating-graph__basis-inner {
    display: inline-block;
    text-align: left;
}
.pb-rating-graph__wrap .pb-rating-graph__basis:first-of-type {
    text-align: right;
    padding-right: 15px;
}
.pb-rating-graph__wrap .pb-rating-graph__basis:last-of-type {
    text-align: left;
    padding-left: 15px;
}
.pb-rating-graph__scale {
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    width: 20px;
    margin-top: 0 !important;
}
.pb-rating-graph__scale:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin-top: -7px;
    margin-bottom: 10px;
    background: #E3E6E7;
}
.pb-rating-graph__axis:after, .pb-rating-graph__scale:after {
    content: unset !important;
}
.pb-rating-graph .pb-rating-graph__scale .pb-rating-graph__item {
    width: 42px;
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: #777;
    text-align: center;
    padding-top: 5px;
    margin-top: -10px !important;
}

@media screen and (min-width:768px) {
    .pb-rating-graph{
        width: 60%;
    }
}

@media screen and (max-width:767px) {
    .pb-rating-graph {
        margin-top: 2em;
        padding: 2em 1em !important;
    }
    .pb-rating-graph__axis {
        width: 60%;
    }
    .pb-rating-graph__basis {
        width: 20%;
        font-size: 13px;
        letter-spacing: 0px;
        line-height: 1.8;
    }
    .pb-rating-graph__wrap .pb-rating-graph__basis:first-of-type {
        padding-right: 7px;
    }
    .pb-rating-graph__wrap .pb-rating-graph__basis:last-of-type {
        padding-left: 7px;
    }
    .pb-rating-graph__scale {
        width: 16px;
    }
    .pb-rating-graph__scale:before {
        width: 16px;
        height: 16px;
    }
    .pb-rating-graph .pb-rating-graph__scale .pb-rating-graph__item {
        font-size: 12px;
    }
    .pb-rating-graph__scale[data-check='true']:before {
        font-size: 20px;
    }
}

.pb-rating-graph__scale[data-check='true']:before {
    background:#ff6666;
}


/*=======================================================商品説明エリア=======================================================*/
.inquiry_btn a{
    display: inline-block;
    background: #333333;
    border: 1px #333333 solid;
    padding: 3px 15px;
    color: #fff;
    transition: .3s ease-in-out;
}

.inquiry_btn a:before{
    font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    letter-spacing: 0.3em;
    font-wigth: 400;
}

.inquiry_btn a:hover{
    background: #fff;
    color: #333333;
    text-decoration: none;
}

.item_exp_1 .tag_left{
    background: #FF6666;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 5px 10px;
    margin: 0;
    border: 2px solid #FF6666;
    border-radius: 10px 0px 0px 10px;
}

.item_exp_1 .tag_right{
    background: #FFF;
    color: #333333;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 5px 10px;
    margin: 0;
    border: 2px solid #FF6666;
    border-radius: 0px 10px 10px 0px;
}

.item_exp_1 ul{
    padding: 0;
    margin: 0;
}

.item_exp_1 ul li{
    list-style: none;
}

.item_exp_1 ul li:before{
    content: "※";
    padding-right: 5px;
}

.item_exp_2 span.attention{
    background: #FF6666;
    color: #FFF;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 5px 10px;
    margin: 0;
    border: 2px solid #FF6666;
    border-radius: 10px;
}

/*日英切り替えボタン*/
.languageTabContent{
    display: none;
}

.languageTabContent.show{
    display: block;
}

ul.languageTabBtnList{
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
}

ul.languageTabBtnList li{
    border: 1px solid #333;
    cursor: pointer;
    list-style: none;
    padding: 2px 10px;
    transition: .4s;
}

ul.languageTabBtnList li.show{
    background-color: #333;
    color: #fff;
}

ul.languageTabBtnList li:first-child{
    border-right: none;
}

.saijiki_exp{
    background-color: #eeeeee;
    border-radius: 10px;
    margin: 10px 0;
    padding: 15px;
}

.saijiki_exp span{
    color: #ff6666;
    font-weight: 700;
}

a.saijiki_btn{
    display: inline-block;
    border: 1px solid rgba(10, 10, 10, 1);
    letter-spacing: .1rem;
    text-align: center;
    margin: 0;
    padding: 2.5px 10px;
}

a.saijiki_btn:hover{
    background-color: rgba(10, 10, 10, 1);
    color: #fff;
    text-decoration: none;
    transition: .4s;
}

@media screen and (max-width: 767Px){
    a.saijiki_btn{
        margin: 0 0 0 auto;
    }
}



.azm_exbtn a{
    display: inline-block;
    background: #888888;
    color: #fff;
    width: 250px;
    border-radius: 50px;
    padding: 10px 15px;
    text-align: center;
    margin-top: 15px;
}

.azm_exbtn a:hover{
    opacity: 0.8;
    text-decoration: none;
}

@media screen and (max-width: 767Px){
    .azm_center{
        text-align: center;
    }
}

.p_size_chart{
    margin-bottom: 10px;
}

.p_size_chart table,
.p_size_chart th,
.p_size_chart td{
    border:solid 1px #ccc;
    padding: 5px 20px;
    vertical-align: middle;
}

.p_size_chart td{
    text-align: center;
}

.p_size_chart th{
    background: #eee;
}

@media screen and (max-width: 767Px){
    .tableWrapper{
        overflow-x: auto;
    }

    .tableWrapper table.p_size_chart{
        white-space: nowrap;
    }
}

.horizon_img ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

.horizon_img ul li{
    list-style: none;
    width: 200px;
    max-width: calc(100% / 6 - 12.4px);
    text-align: center;
    border: solid 2px #e6e6e6;
    border-radius: 10px;
    padding: 2px;
    margin-right: 10px;
    margin-bottom: 10px;
    transition: .4s;
}

.horizon_img ul li:nth-child(6n){
    margin-right: 0;
}

@media screen and (max-width: 767px){
    .column3 ul li{
        max-width: calc(100% / 3 - 10.7px);
        font-size: 1.1rem;
    }

    .horizon_img ul li:nth-child(3n){
        margin-right: 0;
    }
}

.horizon_img ul li img{
    border-radius: 10px;
}

.horizon_img ul li a:hover{
    text-decoration: none;
    opacity: 0.8;
}

.box_refrain_01{
    display: flex;
    flex-direction: row-reverse;
    padding: 10px;
    margin-top: 10px;
    align-items: stretch;
    justify-content: flex-end;
    width: 1000px;
    max-width: 100%;
}

.box_refrain_01 .box_content_left{
    width: 400px;
    max-width: 100%;
}

.box_refrain_01 .box_content_right h3{
    font-weight: 400;
}

.box_refrain_01 .box_content_right p{
    font-size: 1rem;
    margin-top: 10px;
}

.box_refrain_02{
    display: flex;
    padding: 20px;
    margin: 10px 0 10px;
    align-items: top;
    border: 2px solid #d6d6d6;
    border-radius: 20px;
    max-width: 100%;
}

.box_refrain_02 .box_content_left{
    display: flex;
    width: 60%;
    border-right: 2px solid #d6d6d6;
    margin-right: 20px;
}

.box_refrain_02 .box_content_right{
    display: flex;
    width: 40%;
}

.box_refrain_02 .box_content_left image{
    width: 80px;
}

.box_refrain_02 .box_content_right image{
    width: 80px;
}

.box_refrain_02 .box_content_left .exp_text{
    padding: 0 20px 0;
    width: 70%;
}

.box_refrain_02 .box_content_right .exp_text{
    padding-left: 20px;
    width: 50%;
}


.box_refrain_02 .exp_text ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.box_refrain_02 .exp_text li{
    list-style: none;
    font-size: 1.2rem;
}

.box_refrain_02 .exp_text h4{
    font-weight: 400;
}

.yu-soku_konomi{
    background: #333333;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 30px 50px 20px;
    color: #fff;
}

.yu-soku_konomi hr{
    border: none;
    height: 1px;
    background: #fff;
}

.yu-soku_konomi .logo{
    margin-bottom: 20px
}

.gram_design ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.gram_design ul li{
    list-style: none;
    width: 32%;
    margin-bottom: 15px;
    overflow: hidden;
}

.gram_design ul li img{
    transition: .4s;
}

.gram_design ul li img:hover{
    transform:scale(1.2,1.2);
    transition: .4s;
}

.toe-bi table{
    border-collapse:  collapse;
    max-width: 100%;
}

.toe-bi table th{
    border: solid 1px;
    padding: 5px 15px;
    text-align: center;
    vertical-align: middle;
}

.toe-bi table td{
    border: solid 1px;
    padding: 5px 15px;
    text-align: left;
}

.setItems{
    width: 800px;
    max-width: 100%;
}

.setItems ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 5px;
}

.setItems ul li{
    list-style: none;
    border: 1px solid #666666;
    padding: 5px 10px;
    margin: 0;
    width: 250px;
    max-width: 33.333%;
    text-align: center;
    margin-left: -1px;
    margin-top: -1px;
}

.exp_author{
    padding: 20px;
    border: 2px solid #e6e6e6;
    border-radius: 15px;
}

.youTube{
    width: 100%;
    aspect-ratio: 16 / 9;
}

.youTube iframe{
    width: 100%;
    height: 100%;
}

.pSeriesBtn{
    text-align: right;
}

.pSeriesBtn a{
    border: 1px solid #111;
    color: #111;
    display: inline-block;
    margin: 0;
    padding: 5px 20px;
    text-decoration: none;
    transition: .4s;
}

.pSeriesBtn a:after{
    content: "\f105";
    font: var(--fa-font-solid);
    margin-left: 5px;
}

.pSeriesBtn a:hover{
    background-color: #111;
    color: #fff;
    text-decoration: none;
}

/*=====京都丸紅（七五三）=====*/
.shicigosan_text01{
    background-color: #1a1a1a;
    color: #fff;
    padding: 20px;
    text-align: center;
}
.shicigosan_text01 .shicigosan_text01_title{
    border: 3px solid #fff;
    margin-bottom: 20px;
    padding: 10px;
    text-align: center;
}

.shicigosan_text01 .shicigosan_text01_title h4{
    font-size: 2.6rem;
    letter-spacing: .5rem;
    margin: 0 0 5px 0;
    padding: 0;
}

.shicigosan_text01 .shicigosan_text01_title p{
    color: #C39000;
    letter-spacing: .5rem;
    margin: 0;
    padding: 0;
}

.shicigosan_text01 .shicigosan_text01_text{
    letter-spacing: .3rem;
}

.shicigosan_text01 .shicigosan_text01_text span{
    color: #C39000;
    font-weight: 900;
}

.shicigosan_text01 hr.shicigosan_text01_hr{
    height: 0;
    margin: 40px 0;
    padding: 0;
    border: 0;
    height: 0.7em;
    background-image: repeating-linear-gradient(45deg, #fff 0, #fff 3px, transparent 0, transparent 50%);
    background-size: 1em 1em;
    text-align: center;
    overflow: visible;
}

.shicigosan_text01 hr.shicigosan_text01_hr02{
    height: 0;
    margin: 40px 0;
    padding: 0;
    border: 0;
    height: 0.7em;
    background-image: repeating-linear-gradient(45deg, #fff 0, #fff 3px, transparent 0, transparent 50%);
    background-size: 1em 1em;
    text-align: center;
    overflow: visible;
}

.shicigosan_text01 hr.shicigosan_text01_hr:after{
    content: "対象ブランド";
    background: #1a1a1a;
    color: #fff;
    display: inline-block;
    font-size: 2rem;
    font-weight: 900;
    height: 1em;
    letter-spacing: .5rem;
    line-height: 1em;
    position: relative;
    top: -1.5rem;
    padding: 0.5em 2em;
}

.shicigosan_text01 .shicigosan_text01_img ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 768px){

    .shicigosan_text01 .shicigosan_text01_img img{
        width: 80%;
    }

    .shicigosan_text01 .shicigosan_text01_img ul li{
        list-style: none;
        width: calc(100% / 3 - 10px);
        margin-bottom: 15px;
    }


    .shicigosan_text01 .shicigosan_text01_img ul li:not(:nth-of-type(3n)){
        margin-right: 10px;
    }
}

@media screen and (max-width: 767px){
    .shicigosan_text01 .shicigosan_text01_img ul li{
        list-style: none;
        width: calc(100% / 2 - 5px);
        margin-bottom: 10px;
    }
    
    .shicigosan_text01 .shicigosan_text01_img ul li:not(:nth-of-type(2n)){
        margin-right: 10px;
    }
}

.saleTimer{
    margin: 20px auto 0;
    padding: 0;
}

.saleTimer p{
    font-size: 1.6rem;
    text-shadow: #C39000 0 0 10px;
}

.saleTimer span{
    font-size: 4rem;
    margin-right: 5px;
}

/*=====カート画面=====*/
.hidamari_caution{
    color: #BB0C13;
    border: 4px double #BB0C13;
    padding: 15px;
}

/*=======================================================カート画面=======================================================*/
.p-cart-total-note{
    color: #ff6666;
    font-weight: 700;
}

.p-cart-flow{
    padding-top: 30px;
}

.js-cart-delete-button{
    display:inline-block;
    color: #fff;
    font-weight: 700;
    border: 2px solid #1e1e1e;
    border-radius: 2px;
    background: #1e1e1e;
    text-align: center;
    margin-top: 15px;
    transition: opacity .2s linear;
}

@media screen and (min-width: 767px){
    .js-cart-delete-button{
        font-size: 1.6rem;
        padding: 11px 20px;
    }

}

@media screen and (max-width: 768px) {
    .js-cart-delete-button{
        width: 55%;
        font-size: 1.4rem;
        padding: 10px;
    }
}

.js-cart-delete-button:hover{
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
}

.js-cart-delete-button:before{
    content: '\f1f8';
    font-family: "Font Awesome 6 free";
    font-weight: 700;
    padding-right: 0.3rem;
}

.cart_goukei_shita{
    position: relative;
}

.cart_goukei_shita .alert{
    padding: 15px;
    background: #e6e6e6;
    border-radius: 10px;
}

.cart_goukei_shita .alert::after{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-bottom: 32px solid #e6e6e6;
    border-top: 0;
    top: -28px;
    left: 85px;
}

.cart_goukei_shita .text{
    font-size: 1.6rem;
}

.cart_goukei_shita .text span{
    color: #f74d4d;
    font-weight: 900;
}

.cart_shita_wrapper {
    padding: 0;
}

.cart_shita_wrapper label {
    display: inline-block;
    padding : 5px 10px;
    color: #fff;
    font-weight: 400;
    background-color: #9f9f9f;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color .4s;
}

.cart_shita_wrapper label:hover{
    background-color: #909090;
}

.cart_shita_wrapper input[type="checkbox"] {
    display: none;
}

.cart_shita_wrapper .cart_shita_content {
    height: 0;
    padding: 0;
    overflow: hidden;
}

.p-cart-total-tableWrap .freeEditContent{
    border-left: 1px solid #959cb1;
    border-right: 1px solid #959cb1;
    border-bottom: 1px solid #959cb1;  
}

.freePostageMsg{
    background-color: #f6f6f6;
    border: 1px solid #959cb1;
    border-top: none;
    color: #555;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .2rem;
    margin: 0;
    padding: 10px 20px;
}

.switch:checked + .cart_shita_content {
    height: auto;
    padding: 10px;
    background: #fff;
    margin-top: 10px;
    border-radius: 5px;
}

.cart_shita_content table{
    margin: 10px 0;
    border: 1px solid #666666;
    border-radius: 5px;
    background: #fff;
    color: #666666;
}

.cart_shita_content table .left{
    width: 50%;
    text-align: left;
}

.cart_shita_content table .right{
    width: 30%;
    text-align: right;
}

.cart_shita_content table .right span{
    margin-right: 2px;
}

.cart_shita_content table th{
    font-weight: 700;
    background: #e6e6e6;
    border: 1px solid #666666;
    padding: 2px 5px;
    text-align: center;
}

.cart_shita_content table td{
    border: 1px solid #666666;
    padding: 2px 5px;
}

@media screen and (max-width: 750Px){
    .cart_goukei_shita .alert:after{
        left: 25px;
    }
}
.p-cart-other-table .c-form-inblock-list::after{
    content: "（店頭受取）";
    letter-spacing: 0;
    font-size: 1.1rem;
    vertical-align: middle;
}

@media screen and (min-width: 1280Px){
    .p-cart-other-table .c-form-inblock-list::after{
        position: relative;
        top: -3px;
    }
}

.order_complete{
    padding: 0 10px;
}

.order_complete .order_complet_sentence{
    margin-bottom: 25px;
}

.order_complete h3{
    color: #2984cf;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .4rem;
    margin: 0 0 15px 0;
    padding: 0 5px;
}

.order_complete p{
    color: #333;
    letter-spacing: .2rem;
    margin: 0 0 7px 0;
    padding: 0 5px;
}

.order_complete h3 span{
    background-color: #2984cf;
    color: #fff200;
    font-weight: 900;
    margin-right: 5px;
    padding: 5px 0 5px 5px;
}

/*=======================================================カート配送設定=======================================================*/
#yamatoText , #takeAwayText{
    transition: 0.2s;
}

.costBig{
    color: #ff6666;
    font-size: 1.8rem;
    font-weight: 700;
}

.timeTableWrapper{
    background-color: #f1f1f1;
    border-radius: 2px;
    margin: 10px 0;
    padding: 10px;
}

ul#yamatoTimeSchedule{
    list-style: none;
    margin:0;
    padding:0;
}

ul#yamatoTimeSchedule li{
    display: inline-block;
    list-style: none;
}
#yamatoTimeSchedule input , #yamatoTimeSchedule label{
    cursor: pointer;
}
#yamatoTimeSchedule input{
    margin: 0 -3px 0 0;
}
#yamatoTimeSchedule li{
    letter-spacing: 0.1rem;
    margin: 0 20px 0 0;
}

#yamatoTimeSchedule input[type="radio"] + label{
    padding-left: 3px;
}

#takeAwayText .freeship{
    color: #ff6666;
    font-size: 1.8rem;
    font-weight: 700;
}

.mapWrap {
    margin-top: 15px;
    margin-bottom: 15px;
}

.mapEmbed {
    position: relative;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #ddd;
}

  /* --- フォールバック（aspect-ratio非対応ブラウザ用）--- */
.mapEmbed {
    height: 0;
    padding-top: 75%; /* スマホ想定 4:3 → 高さ = 幅 × 3/4 */
}

.mapEmbed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* --- aspect-ratio対応ブラウザ用（フォールバックのpadding-topを無効化）--- */
@supports (aspect-ratio: 1 / 1) {
    .mapEmbed {
    height: auto;
    padding-top: 0;
    aspect-ratio: 4 / 3;
    }
}

.mapLinkBtn {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 12px auto 0;
    padding: 12px 20px;
    text-align: center;
    background-color: #4285F4;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    transition: .4s;
    border-radius: 6px;
    box-sizing: border-box;
}

.mapLinkBtn:hover {
    background-color: #3367D6;
    color: #fff;
    text-decoration: none;
}

@media (min-width: 768px) {
    .mapEmbed {
      padding-top: 56.25%; /* タブレット 16:9 */
    }
    @supports (aspect-ratio: 1 / 1) {
    .mapEmbed {
        padding-top: 0;
        aspect-ratio: 16 / 9;
        }
    }
}

@media (min-width: 1024px) {
    .mapEmbed {
        padding-top: 42.85%; /* PC 21:9 */
    }
    @supports (aspect-ratio: 1 / 1) {
    .mapEmbed {
        padding-top: 0;
        aspect-ratio: 21 / 9;
        }
    }
}

.hideText{
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-20px);
}

.visibleText{
    max-height: 2000px;
    opacity: 1;
    position: static;
    transform: translateY(0);
}

.timeTable:before{
    content: '\f017';
    font-family: 'Font Awesome 6 Free';
    margin-right: 3px;
}

.timeTable{
    display: inline-block;
    margin: 0 0 3px;
    padding:0;
}

#yamatoTimeSchedule input[type="radio"]{
    opacity: 1;
    position: static;
}

#yamatoTimeSchedule label:before{
    opacity: 0;
}

#yamatoTimeSchedule label:after{
    opacity: 0;
}

/*=======================================================カートその他上=======================================================*/
.cart_sonota{
margin: -50px 0 60px;
}

.cart_sonota .cartTextBox{
    background-color: #f6f6f6;
    padding: 20px;
}

.cart_sonota .common{
    background-color: #e1f5f6;
    margin-top: 10px;
}

.cart_sonota .common p{
    line-height: 2.5;
}

.cart_sonota .cartTextBox h3{
    margin-top: 0;
}

.accordion-005 {
background-color: #fff;
font-size: 1.2rem;
max-width: 100%;
margin-bottom: 14px;
transition: .3s;
width: 500px;
}

.accordion-005:last-child{
    margin-bottom: 0;
}

.accordion-005 summary {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 1.2rem;
color: #333333;
font-weight: 700;
cursor: pointer;
}

.accordion-005 summary::-webkit-details-marker {
display: none;
}

.accordion-005 summary::after {
transform: translateY(-25%) rotate(45deg);
width: 7px;
height: 7px;
margin-left: 10px;
border-bottom: 3px solid #333333b3;
border-right: 3px solid #333333b3;
content: '';
transition: transform .3s;
}

.accordion-005[open] summary::after {
transform: rotate(225deg);
}

.accordion-005 p {
transform: translateY(-10px);
opacity: 0;
margin: 0;
padding: .3em 1.2rem 1.2em;
color: #666666;
transition: transform .5s, opacity .5s;
}

.accordion-005[open] p {
transform: none;
opacity: 1;
}

.accordion-005 .paid{
    margin-left: 1.2rem;
    margin-top: -2rem;
    margin-bottom: 2rem;
}

.accordion-005 .info{
    display: inline-block;
    font-weight: 600;
}

.accordion-005 .info{
    text-decoration: none;
}

.cart_sonota .bank{
    margin-left: 1.2rem;
    margin-right: 1.2rem;
    color: #333;
}

.cart_sonota .bank td{
    padding: 2px;
}

.cart_sonota .bank .cell01,.cell02{
    padding-left: 2px;
}

.cart_sonota .bank .cell01,.cell02,.cell04{
    width: 28.4%;
}

.cart_sonota .bank .cell03{
    width: 14.8%;
    text-align: center;
}

a.paid_btn{
    color: #ff6666;
    font-weight: 700;
    letter-spacing: .3rem;
    text-decoration: underline;
    transition: .4s;
}

a.paid_btn:hover{
    color: #333;
}

@media screen and (max-width: 750px){
    .cart_sonota{
    margin-top: -30px;
    margin-bottom: 30px;
    }
}

.cart_sonota .cod{
    margin: 10px 0;
    border: 1px solid #666666;
    border-radius: 5px;
    background: #fff;
    color: #666666;
    margin-left: 1.2rem;
    margin-right: 1.2rem;
}

.cart_sonota .cod .left{
    width: 50%;
    text-align: left;
}

.cart_sonota .cod .right{
    width: 30%;
    text-align: right;
}

.cart_sonota .cod th{
    font-weight: 700;
    background: #e6e6e6;
    border: 1px solid #666666;
    padding: 2px 5px;
    text-align: center;
}

.cart_sonota .cod td{
    border: 1px solid #666666;
    padding: 2px 5px;
}
/*=======================================================アカウント移行マニュアル=======================================================*/
.accountManual{
    padding: 0 5px;
}

.accountManual a{
    font-weight: 700;
    text-decoration: underline;
    transition: opacity .4s;
}

.accountManual a:hover{
    opacity: 0.7;
}

.accountManual h3{
    display: inline-block;
    padding: 5px 20px;
    margin: 15px 0;
    background: #333333;
    color: #fff;
}

.account_remove a{
    display: inline-block;
    text-decoration: none;
    padding: 2px 8px;
    color: #fff;
    background-color: #333333;
    border-radius: 90px;
    margin-left: 0;
    margin-right: 2px;
    transition: opacity .4s;
}

.account_remove img{
    display: block;
    border: 1px solid #e5e5e5;
    margin-top: 15px;
    margin-bottom: 15px;
}

.account_remove span{
    color: #ff6666;
    font-weight: 700;
}

.acconutError{
    display: inline-block;
    color: #ff6666;
    border: 2px solid #ff6666;
    border-radius: 10px;
    background-color: #ffe3e3;
    padding: 10px;
}

.acconutError h4{
    position: relative;
    padding: 0;
    margin: 0 0 10px;
}

.acconutError h4:before{
    content: "\f06a";
    font-family: "Font Awesome 6 Free";
    font-weight: 700;
    margin-right: 5px;
}

.accountManual a.btn_m{
    background-color: rgba(51, 51, 51, 0);
    border: 1px solid #333;
    color: #333;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.3rem;
    margin: 15px 0;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    transition: .4s;
}

.accountManual a.btn_m:hover{
    background-color: rgba(51, 51, 51, 1);
    color: #fff;
    text-decoration: none;
}

/*=======================================================スマホ表示=======================================================*/
@media screen and (max-width: 767px) {
    .main_img_top ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0;
        margin-top: 10px;
        padding: 0;
    }

    .main_img_top ul li{
        list-style: none;
        margin: 0;
        margin-bottom: 10px;
        max-width: 95%;
        padding: 0;
        width: 1300px;
    }

    .pickupitems ul{
        justify-content: space-around;
        padding: 0 4px;
    }

    .pickupitems ul li{
        max-width: calc(100% / 2 - 2px);
        margin: 0px 4px 4px 0px;
    }

    .pickupitems ul li:nth-of-type(2n){
        margin-right: 0;
    }

    .popular_category .tabGroup .tabMenu{
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 5px;
        justify-content: flex-start;
        margin: 0;
    }

    .popular_category .tabGroup .tabMenu li{
        max-width: 100%;
        padding: 5px 20px;
        font-size: 1.4rem;
    }

    .popular_category .tabGroup .tabMenu li:not(:first-child){
        margin-left: 10px;
    }

    .popular_category .tabContent ul li{
        width: calc(100% / 3 - 7px);
        margin: 0 9px 9px 0;
        font-size: 1.2rem;
    }

    .popular_category .tabContent ul li a{
        padding: 10px 5px;
    }

    .popular_category .active{
        display: block;
        padding: 20px 0;
    }

    .select_from_brand ul{
        padding: 0px 5px;
    }

    .select_from_brand ul li{
        width: calc(100% / 3 + 2px);
    }

    .inquiry_btn a{
        display: block;
        text-align: center;
        padding: 10px;
    }

    .g-title01, .g-title01w{
        font-size: 2.8rem;
    }

    .g-title01_label, .g-title01w_label{
        font-size: 2.6rem;
    }

    #what_is_uedaweb ul li{
        text-align: center;
        width: 45%;
        margin: 0;
    }

    #what_is_uedaweb ul li:nth-child(2n+1){
        margin: 0 10px 10px 0;
    }

    .guide_flex01{
        flex-wrap: wrap;
    }

    .guide_flex01 .p_box01{
        max-width: 100%;
    }

    .guide_flex01 .title{
        font-size: 2.4rem;
    }

    .guide_flex01 .text{
        font-size: 1.6rem;
    }

    #register_uedaweb{
        padding-bottom: 20px;
    }

    #register_uedaweb .flow08 > li dl{
        display: block;
    }

    #register_uedaweb .flow08 > li dl dt{
        width: 100%;
    }

    #register_uedaweb .flow08 > li dl dd{
        width: 100%;
    }

    #register_uedaweb .flow_design09{
        justify-content: space-around;
    }

    #register_uedaweb .flow_design09 li{
        max-width: 30%;
    }

    #register_uedaweb .flow_design10{
        display: block;
    }

    #register_uedaweb .flow_design10 li{
        width: 1200px;
        max-width: 100%;
    }

    #register_uedaweb .flow_design10 li:not(:last-child){
        margin-right: 0;
        margin-bottom: 10px;
    }

    #only_web_campaign .campaign_h{
        border: 3px solid #e8af5b;
        border-radius: 5px;
        padding: 5px 10px;
        text-align: center;
        max-width: 100%;
    }

    .order_step .order_2column{
        display: block;
    }

    .order_step .order_2column .left{
        width: 2000px;
        max-width: 100%;
    }

    .order_step .order_2column .right{
        width: 2000px;
        max-width: 100%;
    }

    .order_step .order_2column .right .btn-wrap{
        text-align: center;
    }

    .order_step .order_2column .right .fukidashi{
        margin-top: 13px;
    }

    .order_step .order_2column .left .png01{
        max-width: 80%;
    }

    #way_to_pay .four_way ul{
        justify-content: space-around;
    }

    #way_to_pay .four_way ul li{
        width: 45%;
        margin: 0;
    }

    #way_to_pay .four_way ul li:nth-child(2n){
        margin: 0 0 10px 10px;
    }

    #way_to_pay .four_way ul li:last-child{
        margin-bottom: 0;
    }

    #way_to_pay .window01{
        width: auto;
        margin-left: 10px;
        margin-right: 10px;
    }

    #way_to_pay .window01 .tab{
        margin-bottom: 0;
    }

    #way_to_pay .window01 .tab span{
        display: initial;
        border-radius: 2px;
        padding: 2px 4px;
        margin: 2px 3px 2px 0;
    }

    #way_to_pay .window01 .tab span:not(:first-child){
        margin-left: 0;
    }

    #way_to_pay #way_furikomi table{
        font-size: 1.3rem;
    }

    .postage_content table{
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .postage_content table::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.1);
        border-radius: 4px;
    }

    #question_and_answer .tabGroup{
        padding: 0 5px;
    }

    #question_and_answer .tabGroup .tabMenu{
        margin: 0 0 15px 0;
    }

    #question_and_answer .tabGroup .tabMenu li{
        font-size: 1.4rem;
    }

    #question_and_answer .accordion-004 {
        padding: 10px;
        font-size: 1.4rem;
        border: 2px solid #666666;
        border-radius: 10px;
        background-color: #fff;
        transition: .3s;
    }

    #question_and_answer .accordion-004 summary:after {
        width: 6px;
        height: 6px;
        top: 0.7rem;
        right: 10px;
        border-bottom: 3px solid #333333;
        border-right: 3px solid #333333;
        transition: transform .3s;
    }

    #question_and_answer .accordion-004 summary span , #question_and_answer .accordion-004 .answer li span{
        font-size: 1.4rem;
    }

    .box_refrain_01{
        display: block;
    }

    .box_refrain_01 .box_content_left img{
        margin-bottom: 10px;
    }

    .box_refrain_02{
        display: block;
        align-items: center;
    }

    .box_refrain_02 .box_content_left{
        border-right: none;
        width: 100%;
    }

    .box_refrain_02 .box_content_right{
        margin-top: 20px;
        width: 100%;
    }

    .box_refrain_02 .box_content_left .image{
        width: 80px;
    }

    .box_refrain_02 .box_content_right .image{
        width: 80px;
    }

    .box_refrain_02 .box_content_left .exp_text{
        width: 100%;
        padding: 0 0 0 20px;
    }

    .box_refrain_02 .box_content_right .exp_text{
        width: 100%;
        padding: 0 0 0 20px;
    }

    .setItems ul li{
        width: 400px;
        max-width: 49%;
    }
}

/* ============================================
    モバイル カート・数量ボタン UX改善
    対象: 750px以下
   ============================================ */
@media (max-width: 750px) {

    /* バリエーションなし商品：数量エリアを半分・右寄せ */
    .p-itemDetail .p-item-quantity-input-value {
        width: 200px !important;
        flex: none !important;
    }

    /* バリエーション商品グリッド：数量エリアを幅100% */
    .p-item:not(.p-itemDetail) .p-item-quantity-input-value {
        width: 100% !important;
        flex: 1 !important;
    }

    /* 数量（枠線の四角） */
    .p-item-count {
        display: flex !important;
        align-items: stretch !important;
        background: transparent !important;
        border: 1px solid var(--u-line) !important;
        border-radius: 0 !important;
        height: 48px !important;
        padding: 0 !important;
        gap: 0 !important;
        width: 100% !important;
    }

    /* −＋ボタン */
    .p-item-count-button {
        width: 44px !important;
        height: 46px !important;
        min-width: 44px !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        position: relative !important;
        flex-shrink: 0 !important;
    }
    .p-item-count-button:active {
        background: var(--u-bg) !important;
    }

    /* −＋ アイコン（中央に配置） */
    .p-item-count-button::before,
    .p-item-count-button::after {
        background-color: var(--u-ink) !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

    /* 数量入力フィールド */
    .p-item-count-input {
        flex: 1 !important;
        height: 46px !important;
        text-align: center !important;
        font-size: 17px !important;
        font-weight: 500 !important;
        background: transparent !important;
        border: none !important;
        border-left: 1px solid var(--u-line) !important;
        border-right: 1px solid var(--u-line) !important;
        border-radius: 0 !important;
        min-width: 0 !important;
    }

    /* カートエリア余白 */
    .p-item-cart {
        padding: 6px 0 !important;
    }

    /* カートに入れるボタン（バリエーションあり・なし両対応） */
    .c-button05.js-cart-set-button,
    .c-button01.js-cart-set-button {
        width: 100% !important;
        min-height: 48px !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 8px !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
    }

}

/* PC：数量・カートボタン */
@media (min-width: 751px) {
    .p-item-count {
        position: relative;
        width: 114px;
        height: 32px;
        padding: 0;
        border: 1px solid var(--u-line);
        box-sizing: border-box;
        vertical-align: middle;
    }
    .p-item-count-button {
        top: 0;
        width: 30px;
        height: 30px;
        background: transparent;
    }
    .p-item-count-decrement {
        left: 0;
        right: auto;
    }
    .p-item-count-increment {
        left: auto;
        right: 0;
        background: transparent;
    }
    .p-item-count-button:hover {
        background: var(--u-bg);
    }
    .p-item-count-button::before,
    .p-item-count-button::after {
        background-color: var(--u-ink);
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .p-item-count-input {
        box-sizing: border-box;
        width: 52px;
        height: 30px;
        margin: 0 0 0 30px;
        border: none;
        border-left: 1px solid var(--u-line);
        border-right: 1px solid var(--u-line);
        border-radius: 0;
        font-size: 1.3rem;
        text-align: center;
    }
    .p-item .p-item-cart {
        margin-top: 8px;
    }
    .p-item .c-button05.js-cart-set-button {
        min-height: 34px;
        padding: 0 16px;
        font-size: 1.3rem;
    }
    /* 一覧・バリエーションのカートボタンは横幅いっぱい */
    .p-item:not(.p-itemDetail) .p-item-cart {
        width: 100%;
    }
    .p-item:not(.p-itemDetail) .c-button05.js-cart-set-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        box-sizing: border-box;
    }
}

/* ===================================
フロートカートボタン
=================================== */

/* ===== 追従カートバー（商品詳細ページ） ===== */
#sticky-cart-bar{
    position:fixed;
    z-index:9998;
    background:#fff;
    box-shadow:0 2px 16px rgba(0,0,0,0.2);
    box-sizing:border-box;
    transition:opacity 0.3s, transform 0.3s, bottom 0.5s ease;
}

#sticky-cart-bar.scb-hidden{
    opacity:0;
    transform:translateY(120%);
    pointer-events:none; 
}

#sticky-cart-bar *{
    box-sizing:border-box;
}

#sticky-cart-bar img{
    object-fit:cover;
    border-radius:6px;
    flex-shrink:0;
}

#sticky-cart-bar select{
    border:1px solid #ccc;
    border-radius:6px;
    width:100%;
}

#sticky-cart-bar .scb-stock{
    color:#666; font-size:12px;
}

#sticky-cart-bar .scb-price{
    color:#c00;
    font-weight:bold;
    white-space:nowrap;
}

#sticky-cart-bar .scb-price.scb-login-price{
    color:#666;
    font-weight:normal;
    font-size:12px;
}

#sticky-cart-bar .scb-login-note{
    color:#e98006;
    font-size:11px;
    font-weight:bold;
    text-align:center;
    margin-bottom:4px;
}

#sticky-cart-bar .scb-addwrap{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

#sticky-cart-bar .scb-add{
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
}

  /* カートに入れるボタン（グラデーション + ホバー） */
#sticky-cart-bar .scb-add{
    background:-webkit-linear-gradient(90deg, #e98006 0%, #f98b0a 100%);
    color:#fff;
    border:none;
    border-radius:6px;
    font-weight:bold;
    cursor:pointer;
    white-space:nowrap;
    transition:opacity 0.2s;
}

#sticky-cart-bar .scb-add:hover{
    opacity:0.75;
}

  /* 数量ステッパー */
#sticky-cart-bar .scb-stepper{
    display:inline-flex;
    align-items:center;
    border:1px solid #ccc;
    border-radius:6px;
    overflow:hidden;
}

#sticky-cart-bar .scb-step-btn{
    background:#f2f2f2;
    border:none;
    cursor:pointer;
    font-weight:bold;
    color:#333;
    line-height:1;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
}

#sticky-cart-bar .scb-step-btn:active{
    background:#ddd;
}

#sticky-cart-bar .scb-qty{
    border:none;
    text-align:center;
    -moz-appearance:textfield;
    appearance:textfield;
}

#sticky-cart-bar .scb-qty::-webkit-outer-spin-button,
#sticky-cart-bar .scb-qty::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

#sticky-cart-bar .scb-single-name{
    font-weight:bold;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

  /* ===== トースト通知 ===== */
#scb-toast{
    position:fixed;
    left:50%;
    top:80px;
    transform:translateX(-50%) translateY(-20px);
    z-index:10000;
    background:-webkit-linear-gradient(90deg, #e98006 0%, #f98b0a 100%);
    color:#fff;
    padding:14px 20px;
    border-radius:8px;
    font-size:14px;
    box-shadow:0 4px 16px rgba(0,0,0,0.25);
    opacity:0;
    pointer-events:none;
    transition:opacity 0.3s, transform 0.3s;
    line-height:1.6;
    max-width:90%;
}

#scb-toast.scb-toast-error{
    background:-webkit-linear-gradient(90deg, #d32f2f 0%, #e53935 100%);
}

#scb-toast.scb-toast-show{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}
#scb-toast .scb-toast-cart{
    display:block;
    margin-top:6px;
    font-weight:bold;
}

#scb-toast .scb-toast-cart i{
    margin-right:5px;
}

  /* ===== 下部ナビ カートバッジ ===== */
#scb-nav-badge{
    position:absolute;
    top:2px;
    right:calc(50% - 24px);
    min-width:18px;
    height:18px;
    padding:0 5px;
    background:#ff6666;
    color:#fff;
    font-size:11px;
    font-weight:bold;
    border-radius:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    z-index:5;
}

  /* ===== モバイル（〜750px）：横並びバー ===== */
@media (max-width:750px){
    #sticky-cart-bar{
        left:0; right:0;
        border-top:2px solid #1a56a0;
        padding:8px 12px;
        display:flex;
        align-items:center;
        gap:8px;
    }

    #sticky-cart-bar img{
        width:44px;
        height:44px;
    }

    #sticky-cart-bar .scb-mid{
        flex:1; min-width:0;
        display:flex;
        flex-direction:column;
        gap:4px;
    }

    #sticky-cart-bar select{
        padding:6px; font-size:13px;
    }

    #sticky-cart-bar .scb-single-name{
        font-size:13px;
    }

    #sticky-cart-bar .scb-pricerow{
        display:flex;
        align-items:center;
        gap:8px;
    }

    #sticky-cart-bar .scb-price{
        font-size:14px;
    }

    #sticky-cart-bar .scb-step-btn{ 
        width:36px;
        height:36px;
        font-size:20px;
    }
    #sticky-cart-bar .scb-qty{
        width:40px;
        height:36px;
        font-size:16px;
    }

    #sticky-cart-bar .scb-add{
        padding:0 14px;
        height:48px;
        font-size:14px;
    }
}

  /* ===== タブレット・PC（751px〜）：右側 縦長カード ===== */
@media (min-width:751px){
    #sticky-cart-bar{
        bottom:210px !important;
        right:20px;
        left:auto;
        width:300px;
        border:2px solid #1a56a0;
        border-radius:10px;
        padding:16px;
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    #sticky-cart-bar .scb-top{
        display:flex;
        align-items:center;
        gap:12px;
    }

    #sticky-cart-bar img{
        width:64px;
        height:64px; 
    }

    #sticky-cart-bar .scb-mid{
        flex:1;
        min-width:0;
    }

    #sticky-cart-bar select{
        padding:8px;
        font-size:14px;
        margin-bottom:6px;
    }

    #sticky-cart-bar .scb-single-name{
        font-size:15px;
        margin-bottom:6px;
    }

    #sticky-cart-bar .scb-stock{
        margin-bottom:2px;
    }

    #sticky-cart-bar .scb-pricerow{
        display:flex;
        align-items:center;
        gap:10px;
    }

    #sticky-cart-bar .scb-price{
        font-size:18px;
    }

    #sticky-cart-bar .scb-qtylabel{
        font-size:13px;
        color:#666;
    }

    #sticky-cart-bar .scb-step-btn{
        width:38px;
        height:38px;
        font-size:20px;
    }

    #sticky-cart-bar .scb-qty{
        width:44px;
        height:38px;
        font-size:16px;
    }

    #sticky-cart-bar .scb-add{
        padding:14px;
        font-size:16px;
        width:100%;
    }

}

  /* ===== PC大画面（1025px〜） ===== */
@media (min-width:1025px){
    #sticky-cart-bar{
        width:320px;
        padding:20px;
    }

    #sticky-cart-bar img{
        width:72px;
        height:72px;
    }

    #sticky-cart-bar .scb-price{
        font-size:20px;
    }
}

/* 追従カートバー：トンマナ調整 */
#sticky-cart-bar{
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}
#sticky-cart-bar img{
    border-radius: 0;
}
#sticky-cart-bar select{
    border-color: var(--u-line);
    border-radius: 0;
}
#sticky-cart-bar .scb-stock{
    color: var(--u-sub);
}
#sticky-cart-bar .scb-price{
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-weight: 400;
}
#sticky-cart-bar .scb-price.scb-login-price{
    color: var(--u-sub);
    font-family: inherit;
}
#sticky-cart-bar .scb-login-note{
    color: var(--u-sub);
    font-weight: 400;
}
#sticky-cart-bar .scb-add{
    background: var(--u-accent);
    border-radius: 0;
    font-weight: 400;
    letter-spacing: .12em;
}
#sticky-cart-bar .scb-add:hover{
    opacity: .85;
}
#sticky-cart-bar .scb-stepper{
    border-color: var(--u-line);
    border-radius: 0;
}
#sticky-cart-bar .scb-step-btn{
    background: transparent;
    color: var(--u-ink);
    font-weight: 400;
}
#sticky-cart-bar .scb-step-btn:active{
    background: var(--u-bg);
}
#sticky-cart-bar .scb-qty{
    border-left: 1px solid var(--u-line);
    border-right: 1px solid var(--u-line);
}
#sticky-cart-bar .scb-single-name{
    color: var(--u-ink);
    font-weight: 600;
}
/* カート追加のお知らせ */
#scb-toast{
    background: var(--u-ink);
    border-radius: 0;
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
#scb-toast.scb-toast-error{
    background: #a12a2a;
}
/* 下部ナビのカート件数バッジ */
#scb-nav-badge{
    background: var(--u-accent);
}
@media (max-width: 750px){
    #sticky-cart-bar{
        border-top: 1px solid var(--u-ink);
    }
}
@media (min-width: 751px){
    #sticky-cart-bar{
        border: 1px solid var(--u-ink);
        border-radius: 0;
    }
}

/*=======================================================ご利用ガイド（リニューアル）=======================================================*/
.ug{
    max-width: 960px;
    margin: 0 auto;
    padding: 48px 20px 96px;
    color: var(--u-ink);
    line-height: 2;
    letter-spacing: .06em;
}
.ug *{
    box-sizing: border-box;
}
.ug :is(ul, ol, dl, tbody, tr, details, summary) > br,
.ug :is(.ug-points, .ug-flow, .ug-steps, .ug-pays, .ug-toc, .ug-tabs, .ug-faq) > br{
    display: none; /* 管理画面の自動改行対策 */
}
.ug a{
    color: var(--u-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ug a:hover{
    opacity: .6;
}
.ug strong{
    font-weight: 600;
}
.ug p{
    margin: 0;
}
.ug p + p{
    margin-top: 1em;
}
.ug ul,
.ug ol{
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 見出し */
.ug-label{
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.3rem;
    letter-spacing: .35em;
}
.ug-hero h1{
    margin: 16px 0 0;
    font-family: var(--u-mincho);
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.6;
}
.ug-rule{
    width: 40px;
    height: 1px;
    margin: 32px 0;
    background: var(--u-ink);
}
.ug-sec{
    margin-top: 112px;
    scroll-margin-top: 24px;
}
.ug-sec > h2{
    margin: 12px 0 0;
    font-family: var(--u-mincho);
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.6;
}
.ug h3{
    margin: 0 0 12px;
    font-family: var(--u-mincho);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.6;
}
.ug h4{
    margin: 24px 0 8px;
    font-size: 1.4rem;
    font-weight: 600;
}
.ug-sub{
    margin-top: 64px;
}
.ug-note{
    color: var(--u-sub);
    font-size: 1.3rem;
}

/* 目次 */
.ug-toc{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--u-ink);
}
.ug-toc li{
    border-bottom: 1px solid var(--u-line);
}
.ug-toc li:not(:nth-child(3n)){
    border-right: 1px solid var(--u-line);
}
.ug-toc a{
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 16px;
    font-family: var(--u-mincho);
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
}
.ug-toc a span{
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: .2em;
}

/* ウエダウェブとは：4つの特長 */
.ug-points{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.ug-points li{
    padding: 28px 24px;
    border: 1px solid var(--u-line);
}
.ug-points li span{
    display: block;
    margin-bottom: 8px;
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.2rem;
    letter-spacing: .2em;
}

/* ご利用開始までの流れ */
.ug-flow{
    border-top: 1px solid var(--u-ink);
}
.ug-flow li{
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    padding: 24px 4px;
    border-bottom: 1px solid var(--u-line);
}
.ug-flow li > span{
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.4rem;
    letter-spacing: .2em;
}
.ug-flow h3{
    margin-bottom: 4px;
    font-size: 1.6rem;
}

/* ご利用いただけるお客様 */
.ug-chips{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ug-chips li{
    padding: 6px 16px;
    border: 1px solid var(--u-ink);
    font-size: 1.4rem;
}
.ug-chips--ng li{
    border-color: var(--u-line);
    color: var(--u-sub);
}

/* WEB注文限定特典 */
.ug-campaign{
    padding: 40px 24px;
    border: 1px solid var(--u-ink);
    text-align: center;
}
.ug-campaign .ug-label{
    display: block;
}
.ug-campaign__main{
    margin: 16px 0 8px;
    font-family: var(--u-mincho);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .1em;
}
.ug-campaign__main b{
    margin: 0 4px;
    font-family: var(--u-serif-en);
    font-size: 5.6rem;
    font-weight: 400;
    line-height: 1;
}

/* ボタン */
.ug-cta{
    margin-top: 40px;
    text-align: center;
}
.ug a.ug-btn{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 320px;
    padding: 18px 32px;
    background: var(--u-ink);
    color: #fff;
    font-size: 1.5rem;
    letter-spacing: .16em;
    line-height: 1.6;
    text-decoration: none;
    transition: opacity .3s;
}
.ug a.ug-btn small{
    color: rgba(255, 255, 255, .7);
    font-size: 1.2rem;
    letter-spacing: .1em;
}
.ug a.ug-btn:hover{
    opacity: .8;
}
.ug-key{
    display: inline-block;
    margin: 0 2px;
    padding: 0 10px;
    border: 1px solid var(--u-ink);
    font-size: 1.3rem;
    line-height: 1.8;
}

/* ご注文方法 */
.ug-steps{
    border-top: 1px solid var(--u-ink);
}
.ug-steps > li{
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 32px;
    padding: 32px 4px;
    border-bottom: 1px solid var(--u-line);
}
.ug-steps img{
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--u-line);
}
.ug-steps .ug-label{
    display: block;
    margin-bottom: 8px;
}

/* お支払い方法 */
.ug-pays{
    display: grid;
    gap: 16px;
}
.ug-pay{
    padding: 32px 28px;
    border: 1px solid var(--u-line);
    scroll-margin-top: 24px;
}
.ug-pay dl{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 24px;
    margin: 0 0 20px;
    padding: 12px 16px;
    background: var(--u-bg);
    font-size: 1.4rem;
}
.ug-pay dt{
    color: var(--u-sub);
}
.ug-pay dd{
    margin: 0;
}
.ug-list li{
    position: relative;
    padding-left: 1.2em;
}
.ug-list li::before{
    content: "・";
    position: absolute;
    left: 0;
}
.ug-list li + li{
    margin-top: 4px;
}
.ug-pay details{
    margin-top: 8px;
}
.ug-pay summary{
    cursor: pointer;
    font-size: 1.3rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.ug-pay details > div{
    margin-top: 8px;
    padding: 12px 16px;
    background: var(--u-bg);
    font-size: 1.3rem;
}
.ug-brand{
    display: block;
    max-width: 320px;
    height: auto;
}
.ug-paid{
    display: inline-block;
    margin: 8px 0 16px;
}

/* 表 */
.ug-tableWrap{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.ug-table{
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid var(--u-ink);
    font-size: 1.4rem;
}
.ug-table th,
.ug-table td{
    padding: 10px 12px;
    border-bottom: 1px solid var(--u-line);
    text-align: left;
    vertical-align: top;
}
.ug-table th{
    color: var(--u-sub);
    font-weight: 400;
    white-space: nowrap;
}
.ug-table td.ug-num{
    text-align: right;
    white-space: nowrap;
}
.ug-table--postage{
    min-width: 760px;
    text-align: center;
}
.ug-table--postage th,
.ug-table--postage td{
    text-align: center;
}
.ug-table--postage tr.ug-price td{
    font-family: var(--u-serif-en);
    font-size: 1.5rem;
}
.ug-free{
    margin-top: 16px;
    padding: 16px;
    background: var(--u-bg);
    font-family: var(--u-mincho);
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-align: center;
}
.ug-free small{
    display: block;
    color: var(--u-sub);
    font-family: inherit;
    font-size: 1.2rem;
    font-weight: 400;
}

/* よくある質問 */
.ug-tabs{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}
.ug-tabs button{
    padding: 8px 18px;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: transparent;
    color: var(--u-ink);
    font-size: 1.3rem;
    letter-spacing: .12em;
    cursor: pointer;
    transition: background-color .3s, color .3s;
}
.ug-tabs button:hover,
.ug-tabs button.is-active{
    background: var(--u-ink);
    color: #fff;
}
.ug-faq{
    display: none;
    border-top: 1px solid var(--u-ink);
}
.ug-faq.is-active{
    display: block;
}
.ug-faq details{
    border-bottom: 1px solid var(--u-line);
}
.ug-faq summary{
    display: grid;
    grid-template-columns: 32px 1fr 20px;
    gap: 8px;
    padding: 20px 4px;
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}
.ug-faq summary::-webkit-details-marker{
    display: none;
}
.ug-faq summary::after{
    content: "+";
    color: var(--u-sub);
    text-align: right;
}
.ug-faq details[open] summary::after{
    content: "−";
}
.ug-faq summary span,
.ug-faq .ug-a > span{
    font-family: var(--u-serif-en);
    font-weight: 400;
    letter-spacing: .1em;
}
.ug-faq .ug-a{
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 8px;
    padding: 0 4px 24px;
}
.ug-faq .ug-a > span{
    color: var(--u-sub);
}

/* 便利な機能 */
.ug-howto{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 24px;
    margin-top: 24px;
}
.ug-howto figure{
    margin: 0;
}
.ug-howto img{
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--u-line);
}
.ug-howto figcaption{
    margin-top: 12px;
    font-size: 1.4rem;
}

/* スマホ */
@media (max-width: 767px){
    .ug{
        padding: 32px 20px 64px;
    }
    .ug-hero h1{
        font-size: 2.4rem;
    }
    .ug-sec{
        margin-top: 80px;
    }
    .ug-sec > h2{
        font-size: 2rem;
    }
    .ug h3{
        font-size: 1.6rem;
    }
    .ug-toc{
        grid-template-columns: repeat(2, 1fr);
    }
    .ug-toc li:not(:nth-child(3n)){
        border-right: none;
    }
    .ug-toc li:nth-child(odd){
        border-right: 1px solid var(--u-line);
    }
    .ug-toc a{
        gap: 10px;
        padding: 16px 10px;
        font-size: 1.4rem;
    }
    .ug-points,
    .ug-howto{
        grid-template-columns: 1fr;
    }
    .ug-steps > li{
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .ug-pay{
        padding: 24px 16px;
    }
    .ug a.ug-btn{
        min-width: 0;
        width: 100%;
    }
}

/* 古いガイドCSSの打ち消し（id用の目印） */
.ug-anchor{
    all: unset !important;
    display: block !important;
    scroll-margin-top: 24px !important;
}
.ug-anchor::before,
.ug-anchor::after{
    content: none !important;
    display: none !important;
}
.ug-steps > li.is-noimg{
    grid-template-columns: 1fr;
}

/* 目次の背景リセット */
.ug nav.ug-sec{
    background: none;
    padding: 0;
    margin-bottom: 0;
}
/* 配送料金表（縦型） */
.ug-table--area thead th{
    color: var(--u-ink);
    font-weight: 600;
    border-bottom: 1px solid var(--u-ink);
}
.ug-table--area tbody th{
    color: var(--u-ink);
    font-weight: 600;
}
.ug-table--area td small{
    display: block;
    color: var(--u-sub);
    font-size: 1.2rem;
}
.ug-table--area td:last-child,
.ug-table--area th:last-child{
    text-align: right;
    white-space: nowrap;
}
.ug-table--area td:last-child{
    font-family: var(--u-serif-en);
    font-size: 1.5rem;
}
.ug-table--area td.ug-ask{
    font-family: inherit;
    font-size: 1.3rem;
}
@media (max-width: 767px){
    .ug-toc li:last-child:nth-child(odd){
        grid-column: 1 / -1;
        border-right: none;
    }
    .ug-table--area th,
    .ug-table--area td{
        padding: 10px 6px;
    }
    .ug-table--area tbody th{
        white-space: normal;
        width: 5em;
    }
}

/*=======================================================ログイン画面=======================================================*/
#login_wrap{
    max-width: 480px;
    padding: 48px 40px 40px;
    border: 1px solid var(--u-line);
    color: var(--u-ink);
}
#login_wrap #login_header img{
    display: block;
    max-width: 280px;
    margin: 0 auto;
}
#login_wrap #login_header h1{
    margin-top: 12px;
    color: var(--u-sub);
    font-size: 1rem;
    letter-spacing: .08em;
}
#login_wrap .under_login_logo{
    margin: 32px 0 36px;
    padding: 16px 20px;
    border-radius: 0;
    background: var(--u-bg);
    color: var(--u-ink);
    font-size: 1.3rem;
    line-height: 1.9;
    letter-spacing: .06em;
}
#login_wrap .under_login_logo p{
    margin: 0;
    font-size: 1.3rem;
}
#login_wrap .under_login_logo p + p{
    margin-top: 6px;
}
#login_wrap .under_login_logo span{
    font-weight: 600;
}
#login_wrap .login_form_header{
    margin: 0 0 8px;
    padding: 0;
    color: var(--u-ink);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: .1em;
}
#login_wrap .login_form{
    margin: 0 0 24px;
}
#login_wrap input[type="text"],
#login_wrap input[type="password"]{
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--u-line);
    border-radius: 0;
    font-size: 1.6rem;
    letter-spacing: .06em;
    transition: border-color .3s;
}
#login_wrap input[type="text"]:focus,
#login_wrap input[type="password"]:focus{
    border-color: var(--u-ink);
    outline: none;
}
#login_wrap .login_form ul{
    margin: 8px 0 0;
}
#login_wrap .login_form label{
    color: var(--u-sub);
    font-size: 1.2rem;
}
#login_wrap .p-login-button-border{
    margin-top: 32px;
}
#login_wrap .p-login-button{
    width: 100%;
    height: 52px;
    padding: 0;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: var(--u-ink);
    font-size: 1.5rem;
    letter-spacing: .2em;
    transition: opacity .3s;
}
#login_wrap .p-login-button:hover{
    opacity: .8;
}
#login_wrap .p-login-button .fa{
    margin-right: 6px;
    font-size: 1.3rem;
}
#login_wrap #reminder{
    margin: 16px 0 0;
    text-align: center;
}
#login_wrap #reminder a{
    color: var(--u-ink);
    font-size: 1.3rem;
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#login_wrap #reminder a:hover{
    opacity: .6;
}
#login_wrap #user_register{
    margin: 32px 0 0;
    padding-top: 32px;
    border-top: 1px solid var(--u-line);
}
#login_wrap #user_register a{
    display: block;
    padding: 14px;
    border: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-size: 1.4rem;
    letter-spacing: .14em;
    text-align: center;
    text-decoration: none;
    transition: background-color .3s, color .3s;
}
#login_wrap #user_register a:hover{
    background: var(--u-ink);
    color: #fff;
}
#login_wrap .under_login_browser_bottom{
    margin-top: 24px;
    text-align: center;
}
#login_wrap .under_login_browser_bottom a{
    display: inline;
    padding: 0;
    border-radius: 0;
    background: none;
    color: var(--u-sub);
    font-size: 1.3rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#login_wrap .under_login_browser_bottom a p{
    display: inline;
    margin: 0;
    color: inherit;
}
#login_wrap .under_login_browser hr{
    margin: 32px 0 16px;
    border: none;
    border-top: 1px solid var(--u-line);
}
#login_wrap .under_login_browser p{
    margin: 0;
    color: var(--u-sub);
    font-size: 1.1rem;
    line-height: 1.8;
}
#login_wrap .c-form-error-message{
    margin: 16px 0;
    padding: 12px 16px;
    border: 1px solid #e3b4b4;
    background: #fbf1f1;
    color: #a12a2a;
    font-size: 1.4rem;
    font-weight: 600;
}
#login_wrap input[type="text"],
#login_wrap input[type="password"]{
    box-shadow: none;
}
@media (max-width: 767px){
    #login_wrap{
        width: auto;
        max-width: none;
        margin: 0 auto;
        padding: 32px 20px;
        border: none;
    }
}

/*=======================================================商品詳細ページ（リニューアル）=======================================================*/
/* 画像 */
.p-itemDetail .p-item-thumb-l img{
    border-radius: 0;
}
.p-itemDetail .p-item-thumb-s li{
    border-color: var(--u-line);
    border-radius: 0;
}
.p-itemDetail .p-item-thumb-s li.js-active{
    border-color: var(--u-ink);
}
.p-itemDetail .p-item-thumb-s li img{
    border-radius: 0;
}

/* 商品コード・商品名・カテゴリ */
.p-itemDetail .p-item-group01{
    border-right-color: var(--u-line);
}
.p-itemDetail .p-item-code li{
    border-left: none;
    padding: 0 16px 0 0;
    color: var(--u-sub);
    font-size: 1.2rem;
    letter-spacing: .06em;
}
.p-itemDetail .p-item-code li:has(> span:last-child:empty){
    display: none; /* JANが空なら非表示 */
}
.p-itemDetail .p-item-name{
    margin: 8px 0 12px;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.6;
}
.p-itemDetail .p-item-category li,
.p-itemDetail .p-item-category a{
    color: var(--u-sub);
    font-size: 1.2rem;
}
.p-itemDetail .p-item-category a:hover{
    color: var(--u-ink);
}

/* ログイン案内（JSのインライン指定を上書き） */
.p-itemDetail .custom-login-banner{
    margin: 24px 0 !important;
    padding: 14px 16px !important;
    border-radius: 0 !important;
    background: var(--u-bg) !important;
    color: var(--u-ink) !important;
    font-size: 1.3rem !important;
}
.p-itemDetail .custom-login-banner span{
    font-weight: 600 !important;
}
.p-itemDetail .custom-login-banner a{
    padding: 10px 24px !important;
    border-radius: 0 !important;
    background: var(--u-ink) !important;
    font-weight: 400 !important;
    letter-spacing: .14em;
    transition: opacity .3s;
}
.p-itemDetail .custom-login-banner a:hover{
    opacity: .8;
}

/* ご注文方法などのリンク */
.p-itemDetail ul.expQuestions{
    display: grid;
    grid-template-columns: repeat(4, auto);
    justify-content: start;
    gap: 4px 24px;
    margin: 0 0 24px;
    padding: 0;
}
.p-itemDetail ul.expQuestions > li:not(.qList){
    display: none; /* 自動で入る空のli */
}
.p-itemDetail li.qList{
    width: auto;
    padding: 0;
    border: none;
    font-size: 1.2rem;
}
.p-itemDetail li.qList a{
    padding: 0;
    color: var(--u-sub);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.p-itemDetail li.qList a:hover{
    color: var(--u-ink);
}

/* 価格・カート・お気に入り（ログイン後） */
.p-itemDetail .p-item-group02 .p-item-price{
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-size: 2.6rem;
    font-weight: 400;
    letter-spacing: .04em;
}
.p-itemDetail .p-item-group02 .p-disp-reduced-tax{
    color: var(--u-sub);
    font-size: 1.2rem;
}
.p-itemDetail .p-item-group02 .p-item-cart{
    margin-top: 12px;
}
.p-itemDetail .p-item-group02 .p-item-cart .c-button01{
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: none;
    border-radius: 0;
    background: var(--u-accent);
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: .12em;
    transition: opacity .3s;
}
.p-itemDetail .p-item-group02 .p-item-cart .c-button01:hover{
    opacity: .85;
}
.p-itemDetail .p-item-group02 .p-item-cart .c-button01 .fa{
    margin-right: 6px;
}
.p-itemDetail .p-item-favorite{
    margin-top: 8px;
}
.p-itemDetail .p-item-favorite > a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    left: 0;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-size: 1.3rem;
    letter-spacing: .1em;
    transition: background-color .3s, color .3s;
}
.p-itemDetail .p-item-favorite > a:not(.p-item-favorite-added){
    border: 1px solid var(--u-ink);
}
.p-itemDetail .p-item-favorite > a:hover{
    background: var(--u-ink);
    color: #fff;
}
.p-itemDetail .p-item-favorite > a.p-item-favorite-added{
    border-color: var(--u-line);
    background: var(--u-bg);
    color: var(--u-ink);
}
.p-itemDetail .p-item-favorite > a .fa{
    color: inherit;
}
.p-itemDetail .p-item-favorite > a.p-item-favorite-added .fa{
    color: #e8798f;
}

/* タグ入力（ログイン後） */
.p-itemDetail .p-tag-input{
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: 16px;
}
.p-itemDetail .p-tag-input-text{
    flex: 1;
}
.p-itemDetail .p-tag-input .p-tag-text{
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--u-line);
    border-radius: 0;
    box-shadow: none;
    font-size: 1.3rem;
}
.p-itemDetail .p-tag-input .p-tag-text:focus{
    border-color: var(--u-ink);
    outline: none;
}
.p-itemDetail .p-tag-input .p-tag-button{
    margin: 0;
}
.p-itemDetail .p-tag-input .c-button03{
    display: flex;
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
    height: 36px;
    padding: 0 14px;
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-size: 1.2rem;
    white-space: nowrap;
    transition: background-color .3s, color .3s;
}
.p-itemDetail .p-tag-input .c-button03:hover{
    background: var(--u-ink);
    color: #fff;
}

/* 登録済みタグ */
.p-itemDetail .p-tag-frame{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}
.p-itemDetail .p-tag-data{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 4px 8px 4px 12px;
    border: 1px solid var(--u-line);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-size: 1.2rem;
}
.p-itemDetail .p-tag-data-name{
    color: var(--u-ink);
}
.p-itemDetail .p-tag-data-del{
    color: var(--u-sub);
    cursor: pointer;
    text-decoration: none;
}
.p-itemDetail .p-tag-data-del:hover{
    color: var(--u-ink);
}

/* 仕様表 */
.p-itemDetail .p-item-table-label{
    border: none;
    border-top: 1px solid var(--u-ink);
}
.p-itemDetail .p-item-table-label th,
.p-itemDetail .p-item-table-label td{
    padding: 12px 8px;
    border: none;
    border-bottom: 1px solid var(--u-line);
    font-size: 1.3rem;
    vertical-align: top;
}
.p-itemDetail .p-item-table-label th{
    width: 7em;
    background: none;
    color: var(--u-sub);
    font-weight: 400;
    text-align: left;
}

@media (max-width: 767px){
    .p-itemDetail .p-item-name{
        font-size: 1.8rem;
    }
    .p-itemDetail ul.expQuestions{
        grid-template-columns: repeat(2, auto);
    }
    .p-itemDetail .custom-login-banner{
        flex-direction: column;
        align-items: stretch !important;
        gap: 12px;
    }
    .p-itemDetail .custom-login-banner a{
        margin-left: 0 !important;
        text-align: center;
    }
}
/* 商品説明（日本語/Englishタブ・説明テンプレート） */
.p-itemDetail ul.languageTabBtnList{
    display: flex;
    gap: 24px;
    margin: 0 0 24px;
    padding: 0;
    border-bottom: 1px solid var(--u-line);
}
.p-itemDetail ul.languageTabBtnList li,
.p-itemDetail ul.languageTabBtnList li:first-child{
    margin: 0 0 -1px;
    padding: 8px 2px;
    border: none;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: none;
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1.3rem;
    letter-spacing: .14em;
    cursor: pointer;
}
.p-itemDetail ul.languageTabBtnList li.show{
    border-bottom-color: var(--u-ink);
    background: none;
    color: var(--u-ink);
}
.p-itemDetail .languageTabContent{
    color: var(--u-ink);
    font-size: 1.4rem;
    line-height: 2;
}
.p-itemDetail .p-text-from-richtext div.seoD p{
    color: var(--u-ink);
    font-size: 1.4rem;
    line-height: 2;
}
.p-itemDetail .p-text-from-richtext div.seoD strong{
    display: inline-block;
    margin-bottom: 4px;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.7;
}
.p-itemDetail .p-text-from-richtext h2.seoH{
    margin: 40px 0 8px;
    padding: 0 0 10px;
    border: none;
    border-bottom: 1px solid var(--u-ink);
    border-radius: 0;
    background: none;
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: .12em;
}
.p-itemDetail .p-text-from-richtext h2.seoH .noto-emoji_blue400{
    display: none; /* 見出しの絵文字は非表示 */
}
.p-itemDetail .p-text-from-richtext ul.seoU li{
    padding: 10px 4px 10px 20px;
    border-bottom: 1px solid var(--u-line);
    color: var(--u-ink);
    font-size: 1.4rem;
}
.p-itemDetail .p-text-from-richtext ul.seoU li::before{
    content: "";
    top: 50%;
    left: 4px;
    width: 6px;
    height: 1px;
    background: var(--u-ink);
    color: transparent;
}
/* 固定カートバーの「数量」ラベルを1行に */
#sticky-cart-bar .scb-qtylabel{
    white-space: nowrap;
}

/*=======================================================カート画面=======================================================*/
/* 見出し（カート・お届け先・お支払方法など） */
.title03{
    margin-bottom: 16px;
}
.c-title03-label{
    padding: 0 0 10px;
    border-left: none;
    border-bottom: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .12em;
}
.required{
    background: var(--u-ink);
}

/* 白い枠線ボタン（金額再計算・削除・変更する など）サイト共通 */
.c-button03{
    border-radius: 0;
    transition: background-color .3s, color .3s;
}
.c-button03:hover{
    background: var(--u-ink);
    color: #fff;
    opacity: 1;
}

/* 商品の表 */
.p-cart-table{
    border: none;
}
.p-cart-table th,
.p-cart-table td{
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--u-line);
}
.p-cart-table th{
    background: none;
    color: var(--u-sub);
    font-weight: 400;
}
.p-cart-table .c-form-error-message{
    border: 1px solid #e3b4b4;
    border-radius: 0;
    background: #fbf1f1;
    color: #a12a2a;
    font-size: 1.3rem;
}

/* 合計表 */
.p-cart-total-tableWrap table th,
.p-cart-total-tableWrap table td{
    border-color: var(--u-line) !important;
}
.p-cart-total-tableWrap th{
    background: var(--u-bg);
    color: var(--u-ink) !important;
}
.p-cart-total-tableWrap td{
    color: var(--u-ink) !important;
}
.cart_goukei_shita .alert{
    border-radius: 0;
    background: var(--u-bg);
}
.cart_shita_wrapper label{
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
}
.cart_shita_wrapper label:hover{
    background: var(--u-ink);
    color: #fff;
}
.freePostageMsg{
    border-color: var(--u-line);
    color: var(--u-ink);
    font-family: var(--u-mincho);
}

/* 注意文の赤を落ち着いた赤に */
.cart_goukei_shita .alert span,
.p-cart-total-note,
.txt_before_button,
.p-delivery-error-msg{
    color: #a12a2a !important;
}

/* カートをクリア */
.js-cart-delete-button{
    border: 1px solid var(--u-ink);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-weight: 400;
}
.js-cart-delete-button:hover{
    color: var(--u-ink);
    opacity: .7;
}

/* お届け先・お支払いの案内ボックス */
.cart_sonota .cartTextBox,
.cartTextBox{
    background: var(--u-bg);
}

/* お支払方法の選択（ページ内の<style>を上書き） */
body .p-cart-payment .c-form-inblock-list li label{
    border: 1px solid var(--u-line) !important;
    border-radius: 0 !important;
}
body .p-cart-payment .c-form-inblock-list li label:hover{
    border-color: var(--u-ink) !important;
    background: #fff !important;
}
body .p-cart-payment .c-form-inblock-list li.is-selected label{
    border: 1px solid var(--u-ink) !important;
    background: var(--u-ink) !important;
    color: #fff !important;
}

/* 運送会社の選択（スクリプトの<style>を上書き） */
body .p-delivery-btn{
    border: 1px solid var(--u-line) !important;
    border-radius: 0 !important;
}
body .p-delivery-btn:hover{
    border-color: var(--u-ink) !important;
}
body .p-delivery-btn.is-selected{
    border: 1px solid var(--u-ink) !important;
    background: var(--u-ink) !important;
    color: #fff !important;
}
body .p-delivery-error .p-delivery-btn-wrap{
    outline-color: #a12a2a !important;
    border-radius: 0 !important;
}

/* その他注文情報の表 */
.p-cart-other-table,
.p-cart-other-table th,
.p-cart-other-table td{
    border-color: var(--u-line);
}

/* カート：スマホ・タブレット（縦積み表示） */
@media (max-width: 767px){
    .p-cart-table tr{
        border: none;
        border-top: 1px solid var(--u-ink);
    }
    .p-cart-table tbody > tr:first-child{
        border-top: none;
    }
    .p-cart-table tr:has(> th){
        display: none; /* 見出し行を隠す */
    }
    .p-cart-table td{
        background: #fff;
    }
    .p-cart-table td::before{
        color: var(--u-sub);
        font-weight: 400;
    }
}

/* 買い物を続ける・カートをクリア：同じサイズに */
.p-cart-continueButton a.c-button02,
.js-cart-delete-button{
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 200px;
    height: 48px;
    padding: 0 20px;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: .1em;
}
.js-cart-delete-button::before{
    padding-right: 0;
}
@media (max-width: 767px){
    .p-cart-continueButton a.c-button02,
    .js-cart-delete-button{
        width: 100%;
    }
}
/* 削除ボタンの文字を1行に */
.p-cart-table .c-button03{
    white-space: nowrap;
}

/* 代引の注意ボックスの吹き出し三角を消す */
.cart_goukei_shita .alert::after{
    display: none;
}
/* コメント欄 */
.p-cart-other-table input[type="text"]{
    border: 1px solid var(--u-line);
    border-radius: 0;
    box-shadow: none;
}
/* お支払方法・運送会社：スマホは2列で横幅いっぱい */
@media (max-width: 767px){
    body .p-cart-payment .c-form-inblock-list{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    body .p-cart-payment .c-form-inblock-list li label{
        min-width: 0 !important;
        white-space: normal !important;
    }
    body .p-delivery-btn-wrap{
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
    }
    body .p-delivery-btn{
        min-width: 0 !important;
    }
}

/*=======================================================商品一覧・お気に入り商品=======================================================*/
/* バリエーション一覧へ（枠線のサブボタン・横幅いっぱい） */
.p-item:not(.p-itemDetail) .p-item-cart a.c-button02{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--u-ink);
    background: #fff;
    color: var(--u-ink);
    font-size: 1.3rem;
    letter-spacing: .1em;
    transition: background-color .3s, color .3s;
}
.p-item:not(.p-itemDetail) .p-item-cart a.c-button02:hover{
    background: var(--u-ink);
    color: #fff;
    opacity: 1;
}

/* お気に入りボタン（一覧・お気に入り商品ページ） */
.p-item-favorite > a,
.p-item-favorite > a:not(.p-item-favorite-added){
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    min-height: 34px;
    left: 0;
    border: 1px solid var(--u-line);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-size: 1.2rem;
    transition: background-color .3s;
}
.p-item-favorite > a:hover{
    background: var(--u-bg);
}
.p-item-favorite > a.p-item-favorite-added{
    background: var(--u-bg);
    color: var(--u-ink);
}
.p-item-favorite > a .fa{
    color: var(--u-sub);
}
.p-item-favorite > a.p-item-favorite-added .fa{
    color: #e8798f;
}

@media (max-width: 767px){
    .p-item:not(.p-itemDetail) .p-item-cart a.c-button02{
        min-height: 40px;
        font-size: 1.2rem;
        letter-spacing: .04em;
        white-space: nowrap;
    }
    .p-item:not(.p-itemDetail) .p-item-cart a.c-button02 .fa{
        display: none;
    }
    .p-item-favorite > a,
    .p-item-favorite > a:not(.p-item-favorite-added){
        min-height: 40px;
    }
}

/* 商品画像の角丸をなくす */
.p-item .p-item-thumb img{
    border-radius: 0;
}
/* タブレット幅（詳細検索ページの埋め込み一覧を含む）の商品名を大きく */
@media only screen and (min-width: 768px) and (max-width: 1024px){
    .p-itemLayout-grid .p-item-name{
        font-size: 1.4rem;
        line-height: 1.6;
    }
}

/*=======================================================パンくずリスト=======================================================*/
.p-list-path,
.p-list-path a,
.p-list-path span{
    color: var(--u-sub);
    font-size: 1.2rem;
}
.p-list-path li:last-child span{
    color: var(--u-ink);
}
/* 先頭（TOPページ）は見た目だけ「ホーム」に */
.p-list-path li:first-child a{
    font-size: 0;
}
.p-list-path li:first-child a::before{
    content: "ホーム";
    font-size: 1.2rem;
}
@media (max-width: 767px){
    .p-list-path{
        padding: 0 20px;
    }
}

/*=======================================================商品タグ並び替え=======================================================*/
.p-itemtags-drop-div select{
    box-sizing: border-box;
    height: 36px;
    padding: 0 12px;
    border: 1px solid var(--u-line);
    border-radius: 0;
    background: #fff;
    color: var(--u-ink);
    font-size: 1.4rem;
}
.p-itemtags-table{
    border: none;
    border-top: 1px solid var(--u-ink);
}
.p-itemtags-table.p-item-table th,
.p-itemtags-table.p-item-table td{
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--u-line);
}
.p-itemtags-table.p-item-table th{
    background: none;
    color: var(--u-sub);
    font-weight: 400;
}
/* ドラッグできるのは「表示順」の列だけ */
.p-itemtags-table td.p-sort-no{
    cursor: move;
    -webkit-user-select: none;
    user-select: none;
    background: var(--u-bg);
}
.p-itemtags-table td.p-sort-no::before{
    content: "≡";
    margin-right: 8px;
    color: var(--u-sub);
}
.p-itemtags-table tbody tr:hover td.p-sort-no{
    background: var(--u-line);
}
/* 並び順登録（保存なので墨のメインボタン） */
#js-update-button{
    min-width: 200px;
    min-height: 48px;
    border: 1px solid var(--u-ink);
    background: var(--u-ink);
    letter-spacing: .14em;
}

/*=======================================================入力欄（サイト共通）=======================================================*/
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="password"],
textarea,
.c-form-selectWrap{
    border-color: var(--u-line);
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus{
    border-color: var(--u-ink);
    outline: none;
}

/*=======================================================小見出し（c-title04）=======================================================*/
.c-title04{
    margin: 0 0 16px;
    padding: 12px 0 0;
    background: none;
}
.c-title04-label{
    display: block;
    padding: 0 0 10px;
    border-left: none;
    border-bottom: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .12em;
}

/*=======================================================お届け先一覧=======================================================*/
.p-delivery-tab-result-ttl{
    border-bottom: 1px solid var(--u-ink);
}
.p-delivery-result-code{
    background: var(--u-bg);
}
.p-delivery-resultBox{
    border: none;
    border-bottom: 1px solid var(--u-line);
}
.p-delivery-result-list{
    border-top: 1px solid var(--u-ink);
}
@media (max-width: 767px){
    .l-contents-col2-l:has(.p-delivery-tab-category){
        padding: 0 20px;
    }
}

/*=======================================================会員情報（会員登録フォーム共通）=======================================================*/
.p-user-register-table{
    border: none;
    border-top: 1px solid var(--u-ink);
}
.p-user-register-table > tbody > tr > th,
.p-user-register-table > tbody > tr > td{
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid var(--u-line);
}
.p-user-register-table > tbody > tr > th{
    background: var(--u-bg);
    color: var(--u-ink);
}
.p-user-register-table .red{
    color: #a12a2a;
}
/* 更新する（保存なので墨のメインボタン） */
.p-user-register-submit .c-button01{
    min-width: 200px;
    min-height: 48px;
    border: 1px solid var(--u-ink);
    background: var(--u-ink);
    letter-spacing: .14em;
}
@media (max-width: 767px){
    .l-contents-col2-l:has(.p-user-register-table){
        padding: 0 20px;
    }
}

/*=======================================================NEW ARRIVALS の札=======================================================*/
.newArrivalA .status{
    top: 0;
    right: auto;
    left: 0;
    padding: 4px 10px;
    border-radius: 0;
    background: var(--u-ink);
    color: #fff;
    font-family: var(--u-serif-en);
    font-size: 1.1rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    line-height: 1.5;
}
@media (max-width: 736px){
    .newArrivalA .status{
        padding: 3px 8px;
        font-size: 1rem;
    }
}

/* 新柄・再入荷など（NEW以外）は白地に墨の枠 */
.newArrivalA .status.status--sub{
    padding: 3px 9px;
    border: 1px solid var(--u-ink);
    background: #fff;
    color: var(--u-ink);
}
@media (max-width: 736px){
    .newArrivalA .status.status--sub{
        padding: 2px 7px;
    }
}

/*=======================================================スマホ：ハンバーガーメニュー=======================================================*/
/* ヘッダー下の3つのボタン（注文履歴・お気に入り・商品一覧）を非表示 */
.u-sp-item .l-nav-itemNav{
    display: none;
}
#js-header-nav .l-nav-gnav-list{
    padding: 8px 20px 32px;
    background: #fff;
}
#js-header-nav .spMenu__group{
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}
#js-header-nav .spMenu__group + .spMenu__group{
    margin-top: 28px;
}
#js-header-nav .spMenu__ttl{
    margin: 0;
    padding: 16px 0 10px;
    border-bottom: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-family: var(--u-mincho);
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .12em;
}
#js-header-nav .spMenu__ttl span{
    display: block;
    margin-bottom: 2px;
    color: var(--u-sub);
    font-family: var(--u-serif-en);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .3em;
}
#js-header-nav .spMenu__group ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
#js-header-nav .spMenu__group li{
    margin: 0;
    border: none;
    border-bottom: 1px solid var(--u-line);
    background: none;
}
#js-header-nav .spMenu__group a{
    position: relative;
    display: block;
    padding: 14px 24px 14px 2px;
    background: none;
    color: var(--u-ink);
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: .08em;
    text-decoration: none;
}
#js-header-nav .spMenu__group a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--u-sub);
    border-right: 1px solid var(--u-sub);
    transform: translateY(-50%) rotate(45deg);
}

/* メニューを開いている間は固定カートバーを隠す */
body:has(#js-header-nav.l-nav-gnav-show) #sticky-cart-bar{
    display: none;
}

/*=======================================================詳細検索ページ：左側の特集=======================================================*/
#uds-side .uds-side-ttl{
    margin: 0 0 16px;
    padding: 0 0 10px;
    border: none;
    border-bottom: 1px solid var(--u-ink);
    background: none;
    color: var(--u-ink);
    font-family: var(--u-serif-en);
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: .3em;
}
#uds-side .uds-side-ttl::before{
    display: none;
}
#uds-side .uds-side-ttl span{
    margin-left: 10px;
    color: var(--u-sub);
    font-family: var(--u-mincho);
    font-size: 1.1rem;
    letter-spacing: .12em;
}
#uds-side .udsFeature{
    display: grid;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#uds-side .udsFeature .featureCard__title{
    font-size: 1.3rem;
}
#uds-side .udsFeature__more{
    margin: 20px 0 0;
}
#uds-side .udsFeature__more a{
    display: block;
    padding: 12px;
    border: 1px solid var(--u-ink);
    color: var(--u-ink);
    font-size: 1.3rem;
    letter-spacing: .12em;
    text-align: center;
    text-decoration: none;
    transition: background-color .3s, color .3s;
}
#uds-side .udsFeature__more a:hover{
    background: var(--u-ink);
    color: #fff;
}
/* スマホ：横にスワイプする1列 */
@media (max-width: 767px){
    #uds-side{
        display: block;
        max-height: none;
        overflow: visible;
    }
    #uds-side .udsFeature{
        display: flex;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
    }
    #uds-side .udsFeature .featureCard{
        flex: 0 0 62%;
        scroll-snap-align: start;
    }
}