@charset "utf-8";
/* ============================================================
   default3.css  ← 最終修正版
   参考: build-divide.com/sakurazaka-tcg/point/ テイスト
   - 外周背景: 薄ピンク (#faeaeb)
   - コンテンツエリア背景: シルバーグラデーション (CSS)
   - タイトル: 帯なし、グラデーションテキスト
   - 帯が必要な場合: グレーグラデーション (obis.jpg スタイル)
   - ボタン: ピンクグラデーション (btn.jpg スタイル)
   - フォント: Cormorant Garamond (見出し) + Noto Sans JP (本文)
   - !important で ocnk.min.css との干渉を防止
   ============================================================ */

/* ============================================================
   Google Fonts
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Noto+Sans+JP:wght@300;400;700&family=Shippori+Mincho:wght@400;500;600&display=swap');

/* ============================================================
   CSS カスタムプロパティ (:root)
   ============================================================ */

:root {
    /* ── メインカラー（ローズピンク） ── */
    --color-main:            #c4607e;
    --color-main-dark:       #9e4060;
    --color-main-light:      #f0c8d0;
    --color-main-pale:       #fdf0f3;

    /* ── アクセント ── */
    --color-accent:          #e37f9d;
    --color-accent-hover:    #c86080;
    --color-accent-light:    #f5c0ce;

    /* ── セカンダリ（旧グリーン代替） ── */
    --color-secondary:       #c4607e;
    --color-secondary-dark:  #9e4060;

    /* ── リンク ── */
    --color-link:            #b85070;
    --color-link-hover:      #e37f9d;

    /* ── テキスト ── */
    --color-text:            #1c1c24;
    --color-text-sub:        #5a5a5a;
    --color-text-light:      #909090;

    /* ── 背景 ── */
    /* 外周（body）は薄ピンク */
    --color-body-bg:         #faeaeb;
    /* コンテンツエリアはシルバー系 */
    --color-content-bg:      #f4f3f3;
    --color-white:           #ffffff;
    --color-light:           #f5f3f3;
    --color-light-hover:     #ede8e9;

    /* ── ボーダー ── */
    --color-border:          #e0d0d4;
    --color-border-light:    #ece4e6;

    /* ── フッター（ダーク系） ── */
    --color-footer:          #3d1a26;
    --color-footer-dark:     #2a1018;
    --color-footer-hover:    #5a2535;

    /* ── ナビ（グレーグラデーション） ── */
    --color-nav:             #666666;
    --color-nav-dark:        #444444;
    --color-nav-hover:       #555555;

    /* ── エラー / 成功 ── */
    --color-error:           #CC0000;
    --color-success:         #339900;

    /* ── グラデーション定義 ── */

    /* タイトルテキスト: ダーク→ピンク */
    --gradient-title-text:
        linear-gradient(90deg, #1c1c24 0%, #c4607e 100%);

    /* ナビ帯: グレー (obis.jpg スタイル) */
    --gradient-nav-band:
        linear-gradient(180deg, #7a7a7a 0%, #555555 50%, #4a4a4a 100%);

    /* サイドナビ帯: 少し明るいグレー */
    --gradient-side-band:
        linear-gradient(180deg, #888888 0%, #666666 50%, #5e5e5e 100%);

    /* フッター帯 */
    --gradient-footer-band:
        linear-gradient(180deg, #4a2030 0%, #3d1a26 100%);

    /* ボタン: ピンクグラデーション (btn.jpg スタイル) */
    --gradient-btn-main:
        linear-gradient(90deg, #e890a8 0%, #f2c8d0 100%);

    /* ボタンhover */
    --gradient-btn-hover:
        linear-gradient(90deg, #d4708a 0%, #e8a8b8 100%);

    /* 購入ボタン（より濃いピンク） */
    --gradient-btn-buy:
        linear-gradient(90deg, #c4607e 0%, #e890a8 100%);

    /* 共通ボタン（グレー系） */
    --gradient-btn-common:
        linear-gradient(90deg, #aaaaaa 0%, #cccccc 100%);

    /* コンテンツ背景（シルバー光沢） */
    --gradient-silver-bg:
        linear-gradient(
            160deg,
            #f8f7f8 0%,
            #ededee 15%,
            #f5f5f6 30%,
            #e8e7e8 45%,
            #f2f1f2 60%,
            #e6e5e6 75%,
            #f0eff0 90%,
            #eaeaeb 100%
        );

    /* シルバー光沢レイヤー（重ね用） */
    --gradient-silver-sheen:
        linear-gradient(
            135deg,
            rgba(255,255,255,0.55) 0%,
            rgba(255,255,255,0.0) 40%,
            rgba(255,255,255,0.25) 70%,
            rgba(255,255,255,0.0) 100%
        );

    /* ── フォント ── */
    --font-display:   'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', YuMincho, serif;
    --font-sans:      'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    --font-serif-ja:  'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif;

    /* ── 角丸 ── */
    --radius-sm:  4px;
    --radius-md:  8px;
    --radius-lg:  20px;
    --radius-full: 999px;
}

/* ============================================================
   HTMLタグ基本
   ============================================================ */

body {
    color: var(--color-text) !important;
    background-color: var(--color-body-bg) !important;
    font-family: var(--font-sans) !important;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.03em;
}

/* リンク */
A,
A:link,
A:visited {
    color: var(--color-link) !important;
    text-decoration: none !important;
    outline: none !important;
    transition: color 0.25s ease;
}

A:hover,
A:active {
    color: var(--color-link-hover) !important;
    text-decoration: none !important;
}

.use_hover A:hover {
    color: var(--color-link-hover) !important;
}

/* 見出し共通 */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    margin-bottom: 5px;
    letter-spacing: 0.06em;
}

h1 { font-size: 161.6%; }
h2 { font-size: 146.5%; }
h3 { font-size: 131%; }
h4 { font-size: 123.1%; }
h5 { font-size: 116%; }
h6 { font-size: 108%; }

/* ============================================================
   大外コンテナ - シルバーグラデーション背景
   ============================================================ */

#container {
    font-size: 108%;
    font-family: var(--font-sans) !important;
    background:
        var(--gradient-silver-sheen),
        var(--gradient-silver-bg) !important;
    background-color: var(--color-content-bg) !important;
}

/* ============================================================
   トップページコンテンツ間余白
   ============================================================ */

.main_box,
.side_box {
    margin-bottom: 25px;
}

/* ============================================================
   キャッチフレーズ
   ============================================================ */

.copy {
    min-height: 15px;
    padding: 5px 5px 0px;
    font-size: 85%;
    color: var(--color-text-sub);
    font-weight: 300;
}

/* ============================================================
   ヘッダー - シルバー系
   ============================================================ */

.header {
    position: relative !important;
    background-image: none !important;
    background:
        var(--gradient-silver-sheen),
        var(--gradient-silver-bg) !important;
    background-color: var(--color-content-bg) !important;
    min-height: 60px;
    /* border-bottom: 1px solid var(--color-border-light); */
    padding: 12px 0;
}

.header_nav_size2, .inner_header_nav_column2, .use_side_menu .inner_header_nav_column2 {padding: 0px 0 0 !important;}
.header_nav_size1, .inner_header_nav_column1, .use_side_menu .inner_header_nav_column1 {margin: 7px 0 0 5px !important;}
.header_center .order_desc, .custom_note, .custom_space, .custom_desc {overflow: hidden;}
.logo_wrap { padding: 0; }

.logo_wrap a {display: block;display: flex;align-items: center;flex-flow: row;}

.logo_wrap a .logo_ec {
    font-size: 33px;
    margin: 0;
    font-weight: 900 !important;
    font-family: var(--font-display) !important;
    letter-spacing: -0.1rem;
    color: var(--color-main) !important;
    -webkit-text-fill-color: var(--color-main) !important;
}

.logo_wrap a .logo_ech2 {
    margin: 4px 0 0 3px;
    overflow: hidden;
    font-size: 16px;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
    color: var(--color-text-sub) !important;
    letter-spacing: 0.02rem;
}

@media screen and (max-width: 599px) {
    .logo_wrap {padding: 0 0 0 0%;width: 120%;}
    .logo_wrap a {display: block;display: flex;align-items: center;flex-flow: column;}
    .header {padding: 5px 0;}
    .shoppingcart_page_body .logo_wrap {width: 100%;}
   .header_nav_size2, .inner_header_nav_column2, .use_side_menu .inner_header_nav_column2 {padding: 7px 0 0 !important; }
}

/* ============================================================
   ショップ名
   ============================================================ */

.shoplogo { padding: 5px; }

.use_hover .shoplogo A:hover img { opacity: 0.8; }

.shoptext {
    padding: 5px 0px;
    min-height: 40px;
    margin-right: auto;
}

.shoptext A {
    font-size: 116%;
    font-family: var(--font-display) !important;
    color: var(--color-main) !important;
    -webkit-text-fill-color: var(--color-main) !important;
}

/* ============================================================
   文字サイズ
   ============================================================ */

.font_setting {
    padding: 5px 5px 10px;
    text-align: center;
}

.header_font_setting .set_font_title {
    color: var(--color-text) !important;
}

.set_font_normal,
.set_font_large {
    width: 45px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: left top;
    -webkit-background-size: 45px 60px;
    background-size: 45px 60px;
}

.set_font_normal { background-image: url(img/font_default.gif); }
.set_font_large  { margin-left: 5px; background-image: url(img/font_large.gif); }

.use_hover .font_setting .set_font_normal:hover,
.use_hover .font_setting .set_font_large:hover,
.font_setting .nav_on {
    background-position: left bottom;
}

/* ============================================================
   ヘッダーナビ
   ============================================================ */

.inner_header_nav .nav_btn {
    background-image: none !important;
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
    transition: opacity 0.25s ease !important;
}

.use_hover .inner_header_nav .nav_btn:hover {
    background: var(--gradient-btn-hover) !important;
    opacity: 0.85 !important;
    color: var(--color-white) !important;
}

.inner_header_nav .header_nav_item .fa {
    color: var(--color-white) !important;
}

/* ============================================================
   検索バー
   ============================================================ */

.search_bar .search {
    /* background-color: rgba(255,255,255,0.7) !important; */
    /* border: 1px solid var(--color-border) !important; */
    /* border-radius: var(--radius-full) !important; */
    padding: 0px !important;
}

/* ============================================================
   グローバルナビゲーション - グレーグラデーション帯 (obis.jpg スタイル)
   ============================================================ */

.global_nav {
    background-image: none !important;
    background: var(--gradient-nav-band) !important;
    background-color: var(--color-nav) !important;
}

.inner_global_nav .nav_btn {
    border-right: 1px solid rgba(255,255,255,0.15) !important;
    background-image: none !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--color-white) !important;
    font-weight: 300 !important;
    font-family: var(--font-sans) !important;
    text-align: center;
    transition: background-color 0.2s ease !important;
}

.use_hover .inner_global_nav .nav_btn:hover {
    background-image: none !important;
    /* background-color: rgba(0,0,0,0.25) !important; */
    /* color: var(--color-white) !important; */
}

.global_nav_item:first-child .nav_btn {
    border-left: 1px solid rgba(255,255,255,0.15) !important;
}

.inner_global_nav .fa {
    color: var(--color-white) !important;
}

/* ============================================================
   開閉ナビゲーション
   ============================================================ */

.inner_popup_nav_area,
.inner_popup_menu_area {
    background-color: var(--color-light) !important;
    color: var(--color-text) !important;
}

.inner_popup_nav .nav_btn {
    background-color: var(--color-light) !important;
    border-top: 1px dotted var(--color-border) !important;
    font-weight: 300 !important;
    font-family: var(--font-sans) !important;
}

.use_hover .inner_popup_nav .nav_btn:hover {
    background-color: var(--color-light-hover) !important;
}

.nav_close_box .nav_close {
    background-color: var(--color-main-light) !important;
    color: var(--color-main-dark) !important;
    border-radius: var(--radius-sm) !important;
}

.use_hover .nav_close_box .nav_close:hover {
    background-color: var(--color-main) !important;
    color: var(--color-white) !important;
}

.close_btn_box .fa,
.delete_btn_box .fa,
.nav_close_btn .fa {
    color: var(--color-text) !important;
}

.fixed_corner_button .fa {
    color: var(--color-text) !important;
}

/* ============================================================
   メインナビゲーション - グレーグラデーション帯
   ============================================================ */

.inner_side_nav .nav_btn,
.inner_main_nav .nav_btn {
    background-image: none !important;
    background: var(--gradient-side-band) !important;
    background-color: var(--color-nav) !important;
    color: var(--color-white) !important;
    /* border-radius: var(--radius-sm) !important; */
    border: none !important;
    transition: opacity 0.2s ease !important;
    font-family: var(--font-sans) !important;
    font-weight: 300 !important;
}

.use_hover .inner_side_nav .nav_btn:hover,
.use_hover .inner_main_nav .nav_btn:hover {
    opacity: 0.8 !important;
    color: var(--color-white) !important;
}

/* フリーページナビゲーション */
.freepage_nav .inner_freepage_nav .nav_btn {
    background-image: none !important;
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
}

.use_hover .freepage_nav .inner_freepage_nav .nav_btn:hover {
    opacity: 0.85 !important;
}

/* ============================================================
   カテゴリ・特集ナビゲーション
   ============================================================ */

.itemlist_nav { margin-top: 15px; }

.inner_itemlist_nav .nav_btn {
    background-color: rgba(255,255,255,0.6) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    font-weight: 300 !important;
    color: var(--color-text-sub) !important;
    font-family: var(--font-sans) !important;
    transition: background-color 0.2s ease !important;
}

.use_hover .inner_itemlist_nav .nav_btn:hover {
    background-color: var(--color-main-pale) !important;
    color: var(--color-main) !important;
}

/* ============================================================
   サイドメニュー
   ============================================================ */

.open_side_col .side_container {
    background:
        var(--gradient-silver-sheen),
        var(--gradient-silver-bg) !important;
    background-color: var(--color-content-bg) !important;
}

.side_itemlist_nav { padding: 0px 1px; }

.side_itemlist_nav .sub_menu_link { padding: 10px 24px 10px 10px; }

.side_itemlist_nav .sub_menu_link {
    background-color: rgba(255,255,255,0.5) !important;
    border-top: none !important;
    border-left: 1px solid var(--color-light) !important;
    border-right: 1px solid var(--color-light) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
}

.use_hover .side_itemlist_nav .side_itemlist_nav_link:hover {
    background-color: var(--color-main-pale) !important;
}

/* ============================================================
   フッターナビゲーション
   ============================================================ */

.footer_nav {
    background: var(--gradient-footer-band) !important;
    background-color: var(--color-footer) !important;
}

.footer_nav_item {
    color: var(--color-white) !important;
}

.footer_nav_item .nav_btn {
    border-bottom: 1px dotted var(--color-footer-hover) !important;
    color: var(--color-white) !important;
    font-family: var(--font-sans) !important;
    font-weight: 300 !important;
    background-color: transparent !important;
    background-image: none !important;
}

.use_hover .footer_nav_item .nav_btn:hover {
    background-color: var(--color-footer-hover) !important;
    color: var(--color-white) !important;
}

/* ============================================================
   タイトル（h2）
   ■ 帯を消してグラデーションテキストのみ
   ============================================================ */

/* --- サイドボックス h2 --- */
.side_box h2 {
    padding: 10px 4px !important;
    background-image: none !important;
    background: var(--gradient-title-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    border-bottom: 1px solid var(--color-main-light) !important;
    display: block !important;
}

/* --- カテゴリ・特集・メインボックス h2 --- */
.category_nav_box h2,
.pickupcategory_nav_box h2,
.main_box h2 {
    padding: 12px 4px !important;
    background-image: none !important;
    background: var(--gradient-title-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    border-bottom: 1px solid var(--color-main-light) !important;
    display: block !important;
}

/* --- 商品ボックス h2 (旧オレンジ帯) --- */
.item_box h2 {
    padding: 12px 4px !important;
    background-image: none !important;
    background: var(--gradient-title-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    border-bottom: 1px solid var(--color-accent-light) !important;
    display: block !important;
}

/* カテゴリ上角丸のみ（帯消しのためリセット） */
.category_nav_box h2,
.pickupcategory_nav_box h2 {
    border-radius: 0 !important;
}

/* ============================================================
   第二階層タイトル - 帯なし、左ライン装飾
   ============================================================ */

.page_box .page_title h1,
.page_box .page_title h2,
.page_box .recently .section_title h2,
.page_box .use_emphasis_title .section_title h2 {
    padding: 5px 10px 10px 16px !important;
    background-image: none !important;
    background: var(--gradient-title-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    border-left: 3px solid var(--color-main) !important;
    border-bottom: none !important;
    display: block !important;
}

/* ショッピングカートページ */
.shoppingcart_page_body .page_box .page_title h1,
.shoppingcart_page_body .page_box .page_title h2,
.shoppingcart_page_body .page_box .recently .section_title h2,
.shoppingcart_page_body .page_box .use_emphasis_title .section_title h2 {
    padding: 10px 10px 10px 15px !important;
    background-image: none !important;
    /* グレー帯（obis スタイル）*/
    background: var(--gradient-nav-band) !important;
    background-color: var(--color-nav) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--color-white) !important;
    -webkit-text-fill-color: var(--color-white) !important;
    font-family: var(--font-display) !important;
    border-left: none !important;
}

.shoppingcart_page_body .page_box .page_title h2 {
    margin-bottom: 10px;
}

/* ============================================================
   第二階層サブタイトル
   ============================================================ */

.page_box .section_title h2,
.page_box .section_title h3 {
    background-image: none !important;
    background: var(--gradient-title-text) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    padding: 10px 10px 10px 15px !important;
    border-radius: 0 !important;
    font-family: var(--font-display) !important;
    font-weight: 500 !important;
    border-left: 3px solid var(--color-accent) !important;
    display: block !important;
}

.page_box #cart_preview .section_title h3 { margin-bottom: 10px; }

.page_box .help_contents .section_title h4 { margin-top: 10px; }

.page_box .section_title h4 {
    border-bottom: 1px solid var(--color-border-light);
    padding: 10px 5px;
    font-family: var(--font-sans) !important;
}

.page_box .page_contents .search_result_title h3 { margin-top: 10px; }

/* ============================================================
   第二階層小項目タイトル
   ============================================================ */

.contents_title {
    border-left: 3px solid var(--color-main-light) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    padding: 0px 8px 8px !important;
    font-weight: 400 !important;
    font-size: 116%;
    color: var(--color-text) !important;
    font-family: var(--font-display) !important;
    background: none !important;
}

.rules_title {
    font-weight: 700 !important;
    font-family: var(--font-sans) !important;
}

/* ============================================================
   フォームタイトル
   ============================================================ */

.form_title {
    border-left: 3px solid var(--color-main-light) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    padding: 0px 8px 8px !important;
    font-weight: 400 !important;
    font-size: 116%;
    color: var(--color-text) !important;
    font-family: var(--font-display) !important;
    background: none !important;
}

.form_inner_title {
    border-bottom: 1px dotted var(--color-border) !important;
    font-weight: 700 !important;
    color: var(--color-text) !important;
}

/* ============================================================
   タイトル文字サイズ
   ============================================================ */

.page_title h1,
.page_title h2,
.section_title h1,
.section_title h2 {
    margin: 0px 2px;
    font-size: 123.1%;
    font-weight: 400;
    font-family: var(--font-display) !important;
}

.page_title h3,
.section_title h3 {
    margin: 0px 2px;
    font-size: 116%;
    font-weight: 300;
    font-family: var(--font-display) !important;
}

.page_title h4,
.page_title h5,
.page_title h6,
.section_title h4,
.section_title h5,
.section_title h6 {
    margin: 0px;
    font-size: 100%;
    font-weight: 700;
}

/* ============================================================
   一覧 / 商品リスト
   ============================================================ */

.layout_photo .list_item_photo {
    padding: 5px 0;
    text-align: center;
}

.layout_photo .list_item_data {
    padding: 5px 1px;
}

.more_item {
    padding: 10px 5px 0px 5px;
    border-top: 1px solid var(--color-border-light);
    text-align: right;
}

.more_item .general_btn {
    padding: 5px;
    font-size: 85%;
    font-weight: 300;
}

.layout_photo .item_data_link { font-size: 85%; }
.layout_photo .col2 .item_data_link { font-size: 93%; }

.layout_column_text .list_item_box,
.layout_text .not_link {
    border-bottom: 1px dotted var(--color-border);
}

.list_item_data p.item_desc {
    color: var(--color-text-sub);
    font-weight: 300;
}

/* 商品一覧ホバー */
.use_hover .item_list .item_data_link:hover,
.use_hover .item_list .list_item_link:hover {
    opacity: 0.75;
}

.item_name {
    font-weight: 700 !important;
    font-family: var(--font-sans) !important;
}

.list_item_data p.item_name { margin-bottom: 3px; }

/* 価格 */
.price {
    padding: 2px 0px;
    color: var(--color-text) !important;
    font-weight: 700;
}

.price .selling_price,
.price .regular_price { padding: 2px 0px; }

.price .regular_price {
    color: var(--color-text-sub) !important;
    font-weight: 300 !important;
    display: block;
}

.item_box .text_layout .regular_price { display: inline; }

.item_box .retail_price,
.item_box .tax_incl_price {
    color: var(--color-text-light) !important;
    font-weight: 300 !important;
    word-break: normal;
}

.stock {
    color: var(--color-text-sub) !important;
    font-size: 93%;
}

.lowstock { color: #cc2200 !important; }

.soldout,
.variation_stock_list .data_table .soldout {
    color: #999999 !important;
}

.item_info .review_number {
    color: var(--color-text-sub) !important;
}

/* ランキングNo */
.rankno {
    color: var(--color-white) !important;
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    border-radius: var(--radius-sm);
}

.item_data .rankno1 {
    background: linear-gradient(90deg, #c0392b, #e74c3c) !important;
    background-color: #c0392b !important;
}

/* 記事一覧 */
.list_subject { padding: 5px 0px; }

.date {
    color: var(--color-text-sub) !important;
    font-size: 93%;
    font-weight: 300 !important;
}

/* ソート */
.sort { border-bottom: 1px solid var(--color-border-light); }

.sort_toggle .toggle_open {
    padding: 7px;
    background-color: var(--color-light) !important;
    border: 1px solid var(--color-border-light);
    border-top-left-radius: var(--radius-sm);
    border-top-right-radius: var(--radius-sm);
    border-bottom: none;
}

.sort_toggle .toggle_open:hover {
    background-color: var(--color-main-pale) !important;
}

.sort_item {
    padding: 10px;
    border-left: 1px solid var(--color-border-light);
    border-right: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
    background-color: rgba(255,255,255,0.6) !important;
}

.sort_box {
    padding: 5px;
    margin: 3px;
    border-bottom: 1px solid var(--color-border-light);
}

.sort_item .global_btn { padding: 5px; text-align: center; }

.item_count {
    font-size: 93%;
    color: var(--color-text-sub) !important;
    font-weight: 300;
}

/* ============================================================
   スライド
   ============================================================ */

.slider_box .swiper-pagination-bullet,
.swipe_list .pointer span {
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    cursor: pointer;
}

.slider_box .swiper-pagination-bullet-active,
.swipe_list .pointer span.current {
    background-color: var(--color-main) !important;
    border: 1px solid var(--color-main) !important;
}

#photo .slider_box .swiper-pagination-bullet,
#photo .swipe_list .pointer span,
#photo .slider_box .swiper-pagination-bullet-active,
#photo .swipe_list .pointer span.current {
    border: none;
}

.swipe_list .pointer_box span.pointer_prev,
.swipe_list .pointer_box span.pointer_next,
.swiper-button-prev,
.swiper-button-next {
    width: 25px;
    height: 25px;
    background-color: rgba(255,255,255,0.8) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
}

.use_hover .swiper-button-prev:hover,
.use_hover .swiper-button-next:hover {
    background-color: var(--color-main-pale) !important;
}

.swipe_list .pointer_box span.pointer_prev,
.swiper-button-prev {
    background-image: url(img/icon_prev.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

.swipe_list .pointer_box span.pointer_next,
.swiper-button-next {
    background-image: url(img/icon_next.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

/* ============================================================
   第二階層
   ============================================================ */

.page_box {
    color: var(--color-text) !important;
}

.page_desc {
    padding: 10px;
    color: var(--color-text-sub);
    font-weight: 300;
    line-height: 1.8;
}

.global_info {
    background-color: var(--color-main-pale) !important;
    border: 1px solid var(--color-main-light) !important;
    padding: 10px;
    border-radius: var(--radius-sm);
}

/* ============================================================
   商品詳細
   ============================================================ */

.detail_section {
    border-bottom: 1px solid var(--color-border-light);
}

.detail_item_data h1,
.detail_item_data .item_name {
    font-size: 123.1%;
    font-weight: 700 !important;
    margin-bottom: 10px;
    font-family: var(--font-display) !important;
}

.detail_item_data .section_box { margin-bottom: 10px; }

.detail_item_data .section_box p { margin-bottom: 5px; }

.detail_item_data .selling_price {
    font-size: 123.1%;
    word-break: normal;
    color: var(--color-main) !important;
}

.detail_item_data .selling_price .figure { font-weight: 700; }

.detail_item_data .regular_price {
    font-size: 85%;
    color: var(--color-text-sub) !important;
    font-weight: 300;
}

.detail_item_data .retail_price,
.detail_item_data .tax_incl_price {
    color: var(--color-text-light) !important;
}

.detail_item_data .stock {
    font-size: 108%;
    font-weight: 700;
    color: var(--color-text-sub) !important;
}

.item_desc {
    margin: 0px;
    line-height: 1.8;
    font-weight: 300;
}

.price_desc {
    font-size: 77%;
    color: var(--color-text-light) !important;
}

.detail_spec_data { margin: 0px; }

.other_item_data { margin: 0px; }

.other_item_data .global_photo { text-align: center; }

.other_photo_desc { margin: 0px; }

.social_tool { padding-bottom: 5px; }

.variation_item,
.order_item {
    padding-top: 5px;
    padding-bottom: 5px;
}

.order_item {
    border-bottom: 1px dotted var(--color-border);
}

.ordermade .bottompos { border-bottom: none; }

.hidden_stock .stocklist_data { text-align: center; }

/* バリエーション選択中 */
.variation_stock_list .data_table .selected_item {
    background-color: var(--color-main-pale) !important;
    color: var(--color-main) !important;
}

.variation_stock_list .data_table .selected_data {
    background-color: var(--color-main-pale) !important;
}

/* バリエーション選択ポップアップ */
.popup_variation,
.popup_area {
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 8px 24px rgba(28,28,36,0.1) !important;
}

.popup_variation_selection,
.popup_section {
    border-bottom: 1px solid var(--color-border-light) !important;
}

.popup_variation_button,
.item_selection_button {
    background-color: var(--color-light) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
    transition: border-color 0.2s ease !important;
}

.selected_option .popup_variation_button,
.selected_option .item_selection_button {
    background-color: var(--color-main-pale) !important;
    border: 2px solid var(--color-main) !important;
    color: var(--color-main) !important;
}

.popup_variation_edit_button,
.popup_variation_select_button,
.item_select_operation_button {
    background-image: none !important;
    background: var(--gradient-btn-common) !important;
    background-color: #aaaaaa !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
}

.popup_variation_value,
.variation_selection_value,
.item_selection_value {
    color: var(--color-main) !important;
}

.variation_selection_box .validation_selection_selected_all,
.use_hover .variation_selection_box .validation_selection_selected_all:hover {
    background-color: var(--color-main-pale) !important;
    border: 1px solid var(--color-border-light) !important;
    color: var(--color-text) !important;
    border-radius: var(--radius-sm) !important;
}

.validation_selection_selected_all .variation_selection_msg_text {
    background-image: none !important;
    background: var(--gradient-btn-common) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
}

.detail_section .add_cart_btn_wrapper {    text-align: center; margin: 5px 0;}
.detail_section .global_btn {text-align: center;margin: 5px 0;}

.detail_section .btn_color_common {padding: 7px 10px;}
.fixed_add_cart_btn_box .btn_size_xxlarge {padding: 12px 25px;} 


/* サムネイル */
.thumbnail { margin-top: 5px; }

.thumbnail .thumbnail_btn {
    border: 2px solid transparent !important;
    border-radius: var(--radius-sm) !important;
    transition: border-color 0.2s ease !important;
}

.thumbnail .current .thumbnail_btn {
    border: 2px solid var(--color-main) !important;
}

.thumbnail_listbox { width: 60px; }

/* ============================================================
   レビュー
   ============================================================ */

.large_rating_icon .rating_point { font-size: 153.9%; }
.medium_rating_icon .rating_point { font-size: 123.1%; }

.rating_point {
    margin-left: 10px;
    color: #c8960a !important;
}

.review_number { margin-left: 10px; }

.bar_graph {
    background: linear-gradient(90deg, #c8960a, #d4a820) !important;
}

.rating_age { font-size: 93%; }

.rating_number A { font-size: 93%; }

.review_data {
    border-bottom: 1px dotted var(--color-border);
}

.mypagereview_contents .review_data { border-bottom: none; }

.review_title {
    font-size: 123.9%;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
}

.itemdetail .review_data .review_title,
.mypagereview_contents .review_data .review_title {
    font-size: 108%;
}

.review_postdate {
    background-color: var(--color-light) !important;
}

.review_note {
    border-top: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
}

.detail_page_body .review_note {
    border-top: 1px solid var(--color-border-light);
    border-bottom: none;
}

.owner_note {
    border-bottom: 1px solid var(--color-border-light);
}

.owner_header {
    font-size: 93%;
    color: var(--color-main) !important;
}

.owner_postdate {
    display: inline-block;
    margin-left: 5px;
}

.user_number {
    font-size: 123.9%;
    font-weight: 700;
    color: #c8960a !important;
}

.review_vote_btn { display: block; margin-top: 5px; }

.itemlist .review_number { font-size: 85%; margin-left: 5px; }
.review_list .review_number { font-size: 93%; }
.detail_review_header { padding-top: 10px; }

.review_admin .global_btn {
    border-top: 1px solid var(--color-border-light);
    text-align: center;
}

.detail_review_header .global_btn { text-align: center; }

/* ============================================================
   ログイン
   ============================================================ */

.signin_box .id_box,
.signin_box .pass_box { margin: 0px; }

.signin_box .id_title,
.signin_box .pass_title {
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color-border-light);
    font-size: 116%;
    font-weight: 700;
    font-family: var(--font-display) !important;
}

.signin_box .password .global_link { font-size: 85%; }

#register_form {
    padding-top: 20px;
    border-top: 1px solid var(--color-border-light);
}

/* ============================================================
   カート
   ============================================================ */

.inner_cart_data {
    margin-bottom: 10px;
    border: 1px solid var(--color-border-light) !important;
    background-color: rgba(255,255,255,0.7) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 2px 12px rgba(28,28,36,0.06) !important;
}

.cart_section { border-top: 1px solid var(--color-border-light); }
.top_separator { border-top: 1px solid var(--color-border-light); }
.bottom_separator { border-bottom: 1px solid var(--color-border-light); }

.cart_label {
    font-weight: 700 !important;
    color: var(--color-text-sub) !important;
}

.cart_inner_btn { text-align: center; }
.cart_sub_total_price,
.cart_shipping_charge { text-align: right; }
.cart_footer { text-align: right; }

.grand_total {
    display: inline-block;
    border-bottom: 2px solid var(--color-main-light) !important;
    margin-bottom: 5px;
}

.grandtotal_price {
    font-size: 153.9%;
    color: var(--color-main) !important;
    font-family: var(--font-display) !important;
}

.continue_shopping {
    text-align: right;
    border-top: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
}

.cart_recipient .global_btn { text-align: center; }

.cart_recipient_title {
    border-left: 4px solid var(--color-secondary) !important;
}

.checked_row {
    background-color: var(--color-main-pale) !important;
}

.form_area .checked_row > .form_title,
.form_inner_area .checked_row > .form_inner_title {
    color: var(--color-error) !important;
}

.inner_global_info {
    background-color: rgba(255,255,255,0.6) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: var(--radius-sm) !important;
}

.toggle_box .cart_point,
.toggle_box .box_padding,
.toggle_box .cart_point_notice { margin: 1px; }

.notice_box .form_btn_spad {
    background-color: var(--color-main-pale) !important;
}

/* ============================================================
   ステップ表
   ============================================================ */

.step_list { margin: 10px 0px; padding: 0px 2px; }

.step_data {
    background-color: var(--color-light) !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    border-right: 1px solid rgba(255,255,255,0.8) !important;
    text-align: center;
}

.step_list .posright .step_data { border-right: none !important; }

.step_check .step_data {
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
}

.step_data span { color: var(--color-text-sub) !important; }

.step_data .step_number {
    font-family: var(--font-display) !important;
    font-weight: 400;
}

.step_check .step_data span {
    color: var(--color-white) !important;
}

/* ============================================================
   最新情報、店長日記
   ============================================================ */

.article_date {
    border-bottom: 1px solid var(--color-border-light);
    margin-bottom: 10px;
}

.format { font-size: 77%; color: var(--color-text-light); }

.ph_article {
    font-size: 108%;
    line-height: 1.9;
    font-weight: 300;
}

.count_number { font-size: 93%; color: var(--color-text-sub); font-weight: 300; }

/* ============================================================
   ご利用案内
   ============================================================ */

.anchor_nav_area .nav_btn {
    border: 1px solid var(--color-border-light) !important;
    background-color: var(--color-light) !important;
    border-radius: var(--radius-sm) !important;
    transition: background-color 0.2s ease !important;
}

.use_hover .anchor_nav_area .nav_btn:hover {
    border: 1px solid var(--color-main-light) !important;
    background-color: var(--color-main-pale) !important;
}

.help_contents .inner_contents_box { margin-bottom: 10px; }

.help_step,
.help_payment { padding-bottom: 5px; }

.help_data {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 93%;
    line-height: 1.8;
    font-weight: 300;
}

#spec_contents dt {
    font-weight: 700 !important;
    padding-bottom: 5px;
    font-family: var(--font-display) !important;
}

#spec_contents dd {
    background-color: rgba(255,255,255,0.6) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: var(--radius-sm) !important;
}

/* ============================================================
   特定商取引法
   ============================================================ */

.contents_desc {
    padding: 10px 5px;
    line-height: 1.8;
    font-weight: 300;
}

/* ============================================================
   メールマガジン
   ============================================================ */

.mailmagazine_box .mailmagazine_subscribe_title,
.mailmagazine_box .mailmagazine_unsubscribe_title {
    border-bottom: 1px solid var(--color-border-light);
    margin-bottom: 10px;
    font-size: 116%;
    font-weight: 700;
    font-family: var(--font-display) !important;
}

/* ============================================================
   マイページ
   ============================================================ */

.member_contents .point_number {
    font-size: 138.5%;
    font-weight: 700 !important;
    color: var(--color-main) !important;
    font-family: var(--font-display) !important;
}

.link_box .global_iconleft {
    display: block;
    margin-bottom: 10px;
}

.mypage_note {
    font-size: 93%;
    line-height: 1.7;
    color: var(--color-text-sub) !important;
    font-weight: 300;
}

.mypage_recipient {
    padding: 5px 0px;
    font-size: 108%;
}

/* ============================================================
   購入履歴
   ============================================================ */

.history_data_list .item_name {
    font-weight: 300 !important;
    color: var(--color-text) !important;
}

/* ============================================================
   送り主、お届け先
   ============================================================ */

.recipient_data_list .user_address {
    font-weight: 300 !important;
    color: var(--color-text) !important;
}

/* ============================================================
   お気に入り
   ============================================================ */

.item_registration_date,
.item_memo {
    font-size: 93%;
    color: var(--color-text-sub) !important;
    font-weight: 300;
}

.favorite_contents .item_desc {
    padding: 5px 0px;
    margin: 5px 0px;
    border-top: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
}

.item_memo_text {
    background-color: var(--color-light) !important;
    color: var(--color-text) !important;
    border-radius: var(--radius-sm) !important;
}

/* ============================================================
   複数選択
   ============================================================ */

.bulk_btn { padding-top: 5px; padding-bottom: 5px; }

.inner_bulk_check_box {
    background-color: var(--color-light) !important;
}

.layout_column_text .inner_bulk_check_box,
.layout_text .inner_bulk_check_box {
    background-color: var(--color-light) !important;
}

.bulk_mode .layout_column_text .list_item_box,
.bulk_mode .layout_column_text .not_link,
.bulk_mode .layout_text .not_link { border-bottom: none; }

.bulk_mode .fixed_bottom {
    background-color: var(--color-light) !important;
    border-top: 1px solid var(--color-border-light);
}

.badge {
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    font-family: var(--font-sans) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-full) !important;
}

/* ============================================================
   掲示板
   ============================================================ */

.post_box {
    margin-bottom: 5px;
    border: 1px solid var(--color-border-light) !important;
    background-color: rgba(255,255,255,0.5) !important;
    border-radius: var(--radius-sm) !important;
}

.post_box_res { padding-left: 20px; }

.post_box .data_table .cell_header,
.post_box .data_table .cell_data {
    background-color: var(--color-main-pale) !important;
    font-weight: 300;
}

.post_box .data_table { margin-bottom: 5px; }

.post_box .res_cell,
.post_box .toggle_cell,
.post_box .replay_cell { text-align: center; }

.post_title, .post_user, .post_day, .post_number { padding: 2px 0px; }

.post_title {
    font-weight: 700 !important;
    font-size: 14px;
    font-family: var(--font-display) !important;
}

.post_user { font-size: 11px; color: var(--color-text-sub) !important; }
.post_day  { font-size: 11px; color: var(--color-text-sub) !important; }
.post_number { font-size: 13px; }
.post_url { font-size: 13px; }

.bbs_comments {
    background-color: rgba(255,255,255,0.8) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
}

.bbs_search { background-color: var(--color-light) !important; }

.result_emphasis {
    background-color: var(--color-main-pale) !important;
}

.bbs_search .global_link { margin-left: 10px; }

#bbs_toggle {
    border-top: 1px solid var(--color-border-light);
    border-bottom: 1px solid var(--color-border-light);
}

.bbs_post_form {
    background-color: rgba(255,255,255,0.8) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
}

/* ============================================================
   関連ページ
   ============================================================ */

.link_desc_box { border-top: 1px solid var(--color-border-light); }

/* ============================================================
   私が店長です
   ============================================================ */

.staff_photo, .pstaff_photo { text-align: center; }

.staff_contents dt,
.pstaff_contents dt {
    border-top: 1px solid var(--color-text) !important;
    font-weight: 700 !important;
    font-family: var(--font-display) !important;
}

.staff_contents dd,
.pstaff_contents dd {
    border-top: 1px dotted var(--color-border) !important;
}

.staff_profile_desc {
    background-color: rgba(255,255,255,0.5) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: var(--radius-sm) !important;
}

/* ============================================================
   カレンダー
   ============================================================ */

.calendar_data { padding: 15px 0px; }

.cal_month { padding-bottom: 15px; text-align: center; }

.cal_month .prev_month,
.cal_month .next_month,
.cal_month .this_month { padding: 0px 10px; }

.cal_month span.prev_month,
.cal_month span.next_month {
    padding: 0px 5px;
    font-weight: 700;
    cursor: pointer;
    color: var(--color-main) !important;
}

.this_month {
    font-size: 123.1%;
    font-weight: 700;
    font-family: var(--font-display) !important;
    color: var(--color-main) !important;
}

.side_col .this_month { font-size: 14px; padding: 0px; }
.side_col .next_month, .side_col .prev_month { font-size: 13px; padding: 0px; }

.calendar_data .data_table th.cell_header,
.calendar_data .data_table td.cell_data {
    border: 1px solid var(--color-border) !important;
}

.calendar_data .cal_day_header {
    font-size: 85%;
    color: var(--color-text-sub) !important;
}

.calendar_data .data_table .cal_day_cell {
    width: 14%;
    height: 60px;
    vertical-align: top;
}

.sun .cal_day { color: #cc2200 !important; }
.sat .cal_day { color: var(--color-main) !important; }

.calendar_data .today { font-weight: 700; }

.event_list li { border-bottom: 1px solid var(--color-border-light); }

.event_data { padding: 10px 0px; }

.event_name {
    font-weight: 700 !important;
    line-height: normal;
    font-family: var(--font-display) !important;
}

div.event_icon { text-align: center; }
div.event_icon img { margin: 0px 1px; }
span.event_icon { margin-right: 5px; }

.calendar_data .holiday,
.holiday_icon {
    background-color: var(--color-accent-light) !important;
}

.holiday_icon { border: 1px solid var(--color-border) !important; }

/* ============================================================
   テーブル
   ============================================================ */

.data_table .cell_header,
.data_table_header,
.data_table .cell_data {
    border: 1px solid var(--color-border-light) !important;
}

.data_table .cell_header,
.data_table_header {
    background-color: rgba(240,235,236,0.7) !important;
    color: var(--color-text-sub) !important;
    font-weight: 400;
}

.data_table .cell_data {
    background-color: rgba(255,255,255,0.7) !important;
    color: var(--color-text) !important;
}

/* ============================================================
   フォーム共通
   ============================================================ */

.global_note li {
    border-bottom: 1px dotted var(--color-border-light);
    line-height: 1.8;
    font-weight: 300;
}

.list_icon_circle { color: var(--color-main) !important; }
.require { color: var(--color-error) !important; }

.confirm_email {
    border-color: var(--color-main-light) !important;
    background-color: var(--color-main-pale) !important;
    border-radius: var(--radius-sm) !important;
}

.form_error {
    border: 5px solid #FF0000 !important;
    border-radius: var(--radius-sm) !important;
}

.error_box {
    border: 1px solid #FF0000 !important;
    border-radius: var(--radius-sm) !important;
}

.error_status { color: #FF0000 !important; }

.page_box .edit_form .error_row input,
.page_box .edit_form .error_row select,
.page_box .edit_form .error_row textarea {
    background-color: #FFF0F0 !important;
}

.error_icon .fa {
    background-color: #E43100 !important;
    border: 1px solid #E8E0DD !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
}

.ok_box {
    border: 1px solid var(--color-success) !important;
    border-radius: var(--radius-sm) !important;
}

.ok_status { color: var(--color-success) !important; }

.page_box .edit_form .ok_row input,
.page_box .edit_form .ok_row select,
.page_box .edit_form .ok_row textarea {
    background-color: #F5FFF2 !important;
}

.ok_icon .fa {
    background-color: var(--color-success) !important;
    border: 1px solid #A4E5A1 !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
}

.note_color { color: var(--color-error) !important; }

/* ============================================================
   ボタン共通
   ============================================================ */

.icon_btn {
    border: 1px solid var(--color-border) !important;
    background-color: rgba(255,255,255,0.7) !important;
    border-radius: var(--radius-sm) !important;
    transition: background-color 0.2s ease !important;
}

.icon_btn:hover {
    border: 1px solid var(--color-main-light) !important;
    background-color: var(--color-main-pale) !important;
}

.open_icon, .close_icon {
    border: 1px solid var(--color-border) !important;
    background-color: rgba(255,255,255,0.7) !important;
    border-radius: var(--radius-sm) !important;
}

.general_btn {
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.standard_btn {
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
}

.page_title_right_edge .general_btn {
    background-color: rgba(255,255,255,0.7) !important;
    color: var(--color-text-sub) !important;
    border-radius: var(--radius-sm) !important;
}

/* 共通ボタン（グレー系） */
.btn_color_common {
    background-image: none !important;
    background: var(--gradient-btn-common) !important;
    background-color: #aaaaaa !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
    transition: opacity 0.2s ease !important;
}

/* 強調ボタン: ピンクグラデーション (btn.jpg スタイル) */
.btn_color_emphasis {
    background-image: none !important;
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    /* border-radius: var(--radius-sm) !important; */
    border: none !important;
    transition: opacity 0.2s ease !important;
}

.btn_color_emphasis:hover {
    opacity: 0.85 !important;
}

.outside_btn_box {
    background-color: var(--color-main-pale) !important;
    border: 1px solid var(--color-main-light) !important;
    border-radius: var(--radius-sm) !important;
}

/* ============================================================
   購入ボタン (カートに入れる等)
   ※ input[type="submit"] / button[type="submit"] は除外
     → ocnk プラットフォームの固有クラスのみ対象
   ============================================================ */

.buy_btn,
.addcart_btn,
.cart_btn,
.submit_btn {
    background-image: none !important;
    background: var(--gradient-btn-buy) !important;
    background-color: var(--color-main) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-lg) !important;
    border: none !important;
    font-family: var(--font-sans) !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    transition: opacity 0.25s ease, box-shadow 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(196, 96, 126, 0.3) !important;
}

.buy_btn:hover,
.addcart_btn:hover,
.cart_btn:hover,
.submit_btn:hover {
    opacity: 0.85 !important;
    box-shadow: 0 6px 18px rgba(196, 96, 126, 0.4) !important;
    color: var(--color-white) !important;
}

/* ============================================================
   ページャー
   ============================================================ */

.pager strong {
    border: none !important;
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-main) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    padding: 5px 10px;
    margin: 0 2px;
}

.pager .pager_btn {
    border: 1px solid var(--color-border-light) !important;
    background-color: rgba(255,255,255,0.7) !important;
    border-radius: var(--radius-sm) !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
    padding: 5px 10px;
    margin: 0 2px;
}

.pager .pager_btn:hover {
    border: 1px solid var(--color-main-light) !important;
    background-color: var(--color-main-pale) !important;
}

/* ============================================================
   ポップアップ / オーバーレイ
   ============================================================ */

.overlay_area .modal_skin {
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 12px 40px rgba(28,28,36,0.15) !important;
}

/* ============================================================
   フッター・その他
   ============================================================ */

.site_list_dropdown {
    background-color: var(--color-white) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: 0 4px 16px rgba(28,28,36,0.1) !important;
}

.layout_dropdown .site_list_data {
    border-bottom: 1px solid var(--color-border-light) !important;
}

.footer_pc_site_box {
    background: var(--gradient-footer-band) !important;
    background-color: var(--color-footer) !important;
}

.pc_site_btn .pc_site_link {
    background-color: rgba(255,255,255,0.9) !important;
    border: 1px solid var(--color-border) !important;
    color: var(--color-text) !important;
    border-radius: var(--radius-sm) !important;
}

.footer_area {
    background: var(--gradient-footer-band) !important;
    background-color: var(--color-footer) !important;
    color: var(--color-white) !important;
}

.footer_upper_link_box .continued_link_box {
    border-left: 1px solid var(--color-footer-hover) !important;
}

.fixed_corner_button {
    background-color: rgba(255,255,255,0.85) !important;
    border: 1px solid var(--color-main-light) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: 0 2px 10px rgba(196, 96, 126, 0.15) !important;
}

.accessory_color {
    background: var(--gradient-nav-band) !important;
    background-color: var(--color-nav) !important;
    color: var(--color-white) !important;
}

/* ============================================================
   通知バー / お知らせ帯
   ============================================================ */

.information_bar,
.info_bar {
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 12px !important;
}

.information_bar A,
.info_bar A {
    color: var(--color-white) !important;
    text-decoration: underline !important;
}

/* ============================================================
   Pick Up / New / Sale バッジ
   ============================================================ */

.pickup_badge, .badge_pickup {
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-full) !important;
    font-size: 77%;
    padding: 2px 8px !important;
}

.new_badge, .label_new {
    background-color: var(--color-secondary) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    font-size: 77%;
    padding: 2px 6px !important;
}

.sale_badge, .label_sale {
    background: var(--gradient-btn-buy) !important;
    background-color: var(--color-main) !important;
    color: var(--color-white) !important;
    border-radius: var(--radius-sm) !important;
    font-size: 77%;
    padding: 2px 6px !important;
}

/* ============================================================
   「もっと見る」ボタン
   ============================================================ */

.more_item A,
.more_btn {
    color: var(--color-main) !important;
    font-weight: 400;
    transition: color 0.2s ease !important;
}

.more_item A:hover,
.more_btn:hover {
    color: var(--color-accent) !important;
}

/* ============================================================
   お気に入りボタン
   ============================================================ */

.favorite_btn, .wishlist_btn {
    /* background-color: rgba(255,255,255,0.8) !important; */
    /* border: 1px solid var(--color-main-light) !important; */
    color: var(--color-main) !important;
    /* border-radius: var(--radius-full) !important; */
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.favorite_btn:hover, .wishlist_btn:hover {
    background-color: var(--color-main-pale) !important;
    border-color: var(--color-main) !important;
}

/* ============================================================
   スクロールバー（Webkit）
   ============================================================ */

::-webkit-scrollbar-thumb {
    background-color: var(--color-main-light);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-main);
}

/* ============================================================
   レスポンシブ補足
   ============================================================ */

@media screen and (max-width: 768px) {
    .global_nav {
        /* background: var(--gradient-nav-band) !important; */
    }

    .inner_side_nav .nav_btn,
    .inner_main_nav .nav_btn {
        border-radius: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.2) !important;
    }

    .header {
        border-bottom: 1px solid var(--color-border-light) !important;
    }
}

/* ============================================================
   ocnk.min.css との干渉防止 - 追加上書き
   ============================================================ */

/* ボタン系の全般的な背景リセット */
.nav_btn[style],
.global_btn[style],
.btn[style] {
    background-image: none !important;
}

/* ocnk の .btn_color_emphasis を完全上書き */
.btn_color_emphasis,
.btn_color_emphasis:link,
.btn_color_emphasis:visited {
    background: var(--gradient-btn-main) !important;
    background-color: var(--color-accent) !important;
    background-image: none !important;
    color: var(--color-white) !important;
    border-color: transparent !important;
}

/* ocnk の .btn_color_common を完全上書き */
.btn_color_common,
.btn_color_common:link,
.btn_color_common:visited {
    background: var(--gradient-btn-common) !important;
    background-color: #aaaaaa !important;
    background-image: none !important;
    color: var(--color-white) !important;
    border-color: transparent !important;
}

/* ocnk の footer 系 */
.footer_nav,
.footer_area,
.footer_pc_site_box {
    background-image: none !important;
}

/* ocnk の global_nav 系 */
.global_nav,
.inner_global_nav .nav_btn {
    background-image: none !important;
}

/* ocnk の side_nav 系 */
.inner_side_nav .nav_btn,
.inner_main_nav .nav_btn {
    background-image: none !important;
}

/* ocnk の h2 帯の完全リセット → グラデーションテキスト最終上書き */
/* ★ background-image: none は削除 (shorthand でグラデーション設定後に上書きしないため) */
.side_box h2,
.main_box h2,
.item_box h2,
.category_nav_box h2,
.pickupcategory_nav_box h2 {
    background: linear-gradient(90deg, #1c1c24 0%, #c4607e 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: block !important;
}

/* ============================================================
   ★ グラデーションテキスト 最終上書き（cascade 最後尾）
   ocnk.min.css の後に読み込まれた場合でも同 specificity !important で確実に適用
   ============================================================ */

/* h2 タイトル全体 --- 帯なし、グラデーション文字 */
body .side_box h2,
body .main_box h2,
body .item_box h2,
body .category_nav_box h2,
body .pickupcategory_nav_box h2 {
    background: linear-gradient(90deg, #1c1c24 0%, #c4607e 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: block !important;
    font-family: 'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif !important;
    font-weight: 700 !important;
}

/* page_title / section_title 系 */
body .page_box .page_title h1,
body .page_box .page_title h2,
body .page_box .recently .section_title h2,
body .page_box .use_emphasis_title .section_title h2,
body .page_box .section_title h2,
body .page_box .section_title h3 {
    background: linear-gradient(90deg, #1c1c24 0%, #c4607e 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: block !important;
    font-family: 'Shippori Mincho', 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif !important;
    font-weight: 500 !important;
    font-size: 1.3rem;
}

/* ショッピングカートページのタイトルは白 (グレー帯) --- 上書き除外 */
body .shoppingcart_page_body .page_box .page_title h1,
body .shoppingcart_page_body .page_box .page_title h2,
body .shoppingcart_page_body .page_box .recently .section_title h2,
body .shoppingcart_page_body .page_box .use_emphasis_title .section_title h2 {
    background: var(--gradient-nav-band) !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: var(--color-white) !important;
    color: var(--color-white) !important;
}

/* ============================================================
   ★ input / button / select / textarea サイズ保護
   ocnk.min.css のリセット上書きを防止
   ※ フォームの見た目だけ上書き (最小サイズは platform デフォルト維持)
   ============================================================ */

/* テキスト入力 --- 見た目だけ調整、サイズは触らない */
body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="tel"],
body input[type="number"],
body input[type="search"],
body input[type="url"],
body textarea,
body select {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif !important;
    font-size: inherit !important;
    color: var(--color-text) !important;
    background-color: #ffffff !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-sm) !important;
    /* padding/min-height は ocnk に任せる → 指定しない */
}

body input[type="text"]:focus,
body input[type="email"]:focus,
body input[type="password"]:focus,
body input[type="tel"]:focus,
body input[type="number"]:focus,
body input[type="search"]:focus,
body input[type="url"]:focus,
body textarea:focus,
body select:focus {
    outline: 2px solid var(--color-main-light) !important;
    border-color: var(--color-main) !important;
}

/* 購入・カートボタン --- class で絞り込み */
body .buy_btn,
body .addcart_btn,
body .cart_btn,
body .submit_btn,
body .btn_color_emphasis,
body .btn_color_common {
    background: linear-gradient(90deg, #c4607e 0%, #e890a8 100%) !important;
    color: #ffffff !important;
    border: none !important;
    /* border-radius: 20px !important; */
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    box-shadow: 0 4px 14px rgba(196, 96, 126, 0.3) !important;
    transition: opacity 0.25s ease, box-shadow 0.25s ease !important;
    cursor: pointer !important;
    /* min-height・padding は ocnk デフォルトに任せる */
    padding: 7px 20px;
}
.btn_box {display: flex !important;
    text-align: center  !important;
    width: 100%  !important;
    justify-content: center  !important;}

.btn_box .form_btn {margin: 0 10px;}

body .buy_btn:hover,
body .addcart_btn:hover,
body .cart_btn:hover,
body .submit_btn:hover,
body .btn_color_emphasis:hover {
    opacity: 0.85 !important;
    box-shadow: 0 6px 18px rgba(196, 96, 126, 0.4) !important;
}

/* 汎用ボタン */
body .general_btn,
body .btn_color_common {
    background: linear-gradient(90deg, #e890a8 0%, #f2c8d0 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif !important;
    transition: opacity 0.2s ease !important;
    cursor: pointer !important;
    padding: 7px 20px;
}

body .general_btn:hover,
body .btn_color_common:hover {
    opacity: 0.85 !important;
}

/* input[type=submit] は ocnk デフォルトに任せ、個別クラスのみスタイル */
body input[type="submit"].buy_btn,
body input[type="submit"].addcart_btn,
body input[type="submit"].cart_btn,
body input[type="submit"].submit_btn,
body button[type="submit"].buy_btn,
body button[type="submit"].addcart_btn,
body button[type="submit"].cart_btn,
body button[type="submit"].submit_btn {
    background: linear-gradient(90deg, #c4607e 0%, #e890a8 100%) !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    border: none !important;
}
