/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Feb 28 2026 | 03:27:41 */
@charset "utf-8";

/* ==================================================
   1. 基本設定＆リセット
   ================================================== */
body {
    margin: 0;
    padding: 0;
    background-color: #fcfbf9;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    color: #333;
    font-size: 14px;
    line-height: 1.6;
}

/* --- テーマの強制スタイル解除 --- */
.wp-site-blocks, 
header, 
main, 
.entry-content,
.wp-block-group {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ページタイトルを全ページで非表示 */
.wp-block-post-title,
.entry-title {
    display: none !important;
}

/* 記事ページ・固定ページでは表示 */
body.single .wp-block-post-title,
body.single .entry-title,
body.page .wp-block-post-title,
body.page .entry-title {
    display: block !important;
}

/* トップページだけ確実に非表示 */
body.home .wp-block-post-title,
body.home .entry-title {
    display: none !important;
}

ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: #333;
    transition: opacity 0.3s;
}
a:hover { opacity: 0.7; }

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* ==================================================
   1.5. タイポグラフィ全体設定（h1〜h6統一、homeを除外）
   ================================================== */

/* 記事ページ＆固定ページのみに適用（homeを除外） */
body.single h1,
body.single h2,
body.single h3,
body.single h4,
body.single h5,
body.single h6,
body.page:not(.home) h1,
body.page:not(.home) h2,
body.page:not(.home) h3,
body.page:not(.home) h4,
body.page:not(.home) h5,
body.page:not(.home) h6 {
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    font-weight: bold;
    line-height: 1.4;
    color: #333;
    margin-top: 0;
    margin-bottom: 1rem;
}

/* H1 */
body.single h1,
body.single .h1-style,
body.page:not(.home) h1,
body.page:not(.home) .h1-style {
    font-size: 28px !important;
    border-bottom: 3px solid #8b0000;
    padding-bottom: 10px;
    margin-bottom: 25px !important;
}

/* H2 */
body.single h2,
body.single .h2-style,
body.page:not(.home) h2,
body.page:not(.home) .h2-style {
    font-size: 22px !important;
    border-bottom: 2px solid #ccc;
    padding-bottom: 8px;
    margin-top: 2.5em !important;
    margin-bottom: 1.2em !important;
}

/* H3 */
body.single h3,
body.single .h3-style,
body.page:not(.home) h3,
body.page:not(.home) .h3-style {
    font-size: 19px !important;
    border-left: 5px solid #8b0000;
    padding-left: 12px;
    margin-top: 2em !important;
    margin-bottom: 1em !important;
}

/* H4 */
body.single h4,
body.single .h4-style,
body.page:not(.home) h4,
body.page:not(.home) .h4-style {
    font-size: 17px !important;
    border-bottom: 1px dotted #999;
    padding-bottom: 5px;
    margin-top: 1.8em !important;
    margin-bottom: 0.8em !important;
}

/* H5 */
body.single h5,
body.single .h5-style,
body.page:not(.home) h5,
body.page:not(.home) .h5-style {
    font-size: 15px !important;
    font-weight: bold;
    color: #555;
    margin-top: 1.5em !important;
    margin-bottom: 0.7em !important;
}

/* H6 */
body.single h6,
body.single .h6-style,
body.page:not(.home) h6,
body.page:not(.home) .h6-style {
    font-size: 14px !important;
    font-weight: bold;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 1.2em !important;
    margin-bottom: 0.6em !important;
}

/* 段落・リスト（記事＆固定ページのみ） */
body.single p,
body.page:not(.home) p {
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin-bottom: 1.5em !important;
    color: #333;
}

body.single ul,
body.single ol,
body.page:not(.home) ul,
body.page:not(.home) ol {
    font-size: 14px !important;
    line-height: 1.8 !important;
    margin-bottom: 1.5em !important;
}

body.single ul li,
body.page:not(.home) ul li {
    list-style-type: disc;
    margin-bottom: 0.5em;
}

body.single ol li,
body.page:not(.home) ol li {
    list-style-type: decimal;
    margin-bottom: 0.5em;
}

/* 強調・イタリック（記事＆固定ページのみ） */
body.single strong,
body.single b,
body.page:not(.home) strong,
body.page:not(.home) b {
    font-weight: bold;
    color: #000;
}

body.single em,
body.single i,
body.page:not(.home) em,
body.page:not(.home) i {
    font-style: italic;
    color: #555;
}

/* リンク（記事＆固定ページのみ） */
body.single a,
body.page:not(.home) a {
    color: #8b0000;
    text-decoration: underline;
    transition: opacity 0.3s;
}

body.single a:hover,
body.page:not(.home) a:hover {
    opacity: 0.7;
    text-decoration: none;
}

/* 引用（記事＆固定ページのみ） */
body.single blockquote,
body.page:not(.home) blockquote {
    border-left: 5px solid #8b0000;
    padding: 15px 20px;
    margin: 25px 0;
    background: #f9f9f9;
    font-style: italic;
    color: #555;
    font-size: 14px;
}

/* コード（記事＆固定ページのみ） */
body.single code,
body.page:not(.home) code {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 2px 6px;
    font-family: "Courier New", Courier, monospace;
    font-size: 13px;
    color: #d63384;
}

body.single pre,
body.page:not(.home) pre {
    background: #f4f4f4;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 15px;
    overflow-x: auto;
    font-family: "Courier New", Courier, monospace;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 1.5em;
}

body.single pre code,
body.page:not(.home) pre code {
    background: transparent;
    border: none;
    padding: 0;
    color: #333;
}

/* 水平線（記事＆固定ページのみ） */
body.single hr,
body.page:not(.home) hr {
    border: none;
    margin: 30px 0;
}

/* テーブル（記事＆固定ページのみ） */
body.single table,
body.page:not(.home) table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5em;
    font-size: 14px;
    border: none !important;
}

body.single table th,
body.page:not(.home) table th {
    background: #f0f0f0;
    padding: 10px;
    font-weight: bold;
    text-align: left;
    border: none !important;
}

body.single table td,
body.page:not(.home) table td {
    padding: 10px;
    border: none !important;
}

body.single table tr:hover,
body.page:not(.home) table tr:hover {
    background: #fafafa;
}

/* 小さいテキスト（記事＆固定ページのみ） */
body.single small,
body.single .small-text,
body.page:not(.home) small,
body.page:not(.home) .small-text {
    font-size: 12px;
    color: #666;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    body.single h1,
    body.single .h1-style,
    body.page:not(.home) h1,
    body.page:not(.home) .h1-style {
        font-size: 24px !important;
    }
    
    body.single h2,
    body.single .h2-style,
    body.page:not(.home) h2,
    body.page:not(.home) .h2-style {
        font-size: 20px !important;
    }
    
    body.single h3,
    body.single .h3-style,
    body.page:not(.home) h3,
    body.page:not(.home) .h3-style {
        font-size: 18px !important;
    }
    
    body.single h4,
    body.single .h4-style,
    body.page:not(.home) h4,
    body.page:not(.home) .h4-style {
        font-size: 16px !important;
    }
    
    body.single h5,
    body.single .h5-style,
    body.page:not(.home) h5,
    body.page:not(.home) .h5-style {
        font-size: 14px !important;
    }
    
    body.single h6,
    body.single .h6-style,
    body.page:not(.home) h6,
    body.page:not(.home) .h6-style {
        font-size: 13px !important;
    }
    
    body.single p,
    body.single ul,
    body.single ol,
    body.page:not(.home) p,
    body.page:not(.home) ul,
    body.page:not(.home) ol {
        font-size: 13px !important;
    }
    
    body.single blockquote,
    body.page:not(.home) blockquote {
        font-size: 13px;
        padding: 10px 15px;
    }
    
    body.single table,
    body.page:not(.home) table {
        font-size: 12px;
    }
    
    body.single table th,
    body.single table td,
    body.page:not(.home) table th,
    body.page:not(.home) table td {
        padding: 8px;
    }
}


/* ==================================================
   2. ヘッダーエリア (PCレイアウト修正)
   ================================================== */

header.wp-block-template-part {
    background-color: #f7f3e8; /* ベージュ背景 */
    width: 100%;
    border-bottom: 1px solid #e0d8c0;
    margin-bottom: 0 !important; /* 下の余白を削除 */
}

/* ヘッダー内部コンテナ */
.top_image {
    width: 900px;
    margin: 0 auto;
    padding: 15px 0;
    display: flex;
    justify-content: space-between; /* 左右に配置 */
    align-items: flex-end; /* 下揃え */
    flex-wrap: nowrap; /* 折り返し禁止 */
}

/* 左側：ロゴエリア */
.main_logo_010 {
    order: 1; /* 左側に配置 */
    width: auto;
    flex-shrink: 0;
	font-family: serif;
}
.main_logo_010 a {
    font-size: 28px;
    font-weight: bold;
    color: #000;
    display: block;
    line-height: 1.2;
	font-family: serif !important;
}
.main_logo_010 .caption {
    font-size: 12px;
    color: #666;
    margin: 0;
    font-family: serif;
}

/* 右側：検索・カートエリア */
.google_form_01 {
    order: 2; /* 右側に配置 */
    text-align: right;
    width: auto;
}

/* 検索フォーム微調整 */
.searchandfilter {
    margin-bottom: 8px;
}
.searchandfilter ul {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.searchandfilter li {
    list-style: none;
}
.searchandfilter input[type="text"] {
    padding: 5px;
    border: 1px solid #ccc;
    font-size: 12px;
}
.searchandfilter input[type="submit"] {
    background: #8b0000;
    color: #fff;
    border: none;
    padding: 6px 10px;
    margin-left: 5px;
    cursor: pointer;
    font-size: 12px;
}

/* オンラインストアボタン */
.shop-area a {
    display: inline-block;
    background: #8b0000;
    color: #fff;
    padding: 8px 15px;
    font-size: 13px;
    border-radius: 3px;
}
.shop-area i { margin-right: 5px; }


/* ナビゲーションバー */
.top_navi-under_new {
    width: 100%;
    background: #fff;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
	box-sizing: border-box;
}

.top_navi-under_new--inner {
    width: 900px !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    display: flex;
    padding: 0 !important;
}

.top_navi-under_new--inner li {
    flex: 1;
    text-align: center;
    border-right: 1px solid #eee;
}

.top_navi-under_new--inner li:first-child {
    border-left: 1px solid #eee;
}

.top_navi-under_new--inner li a {
    display: block;
    padding: 10px 0;
    font-size: 13px;
    font-weight: bold;
    color: #333;
}

.top_navi-under_new--inner li a:hover {
    background-color: #f7f3e8;
    color: #8b0000;
}


/* ==================================================
   3. メインコンテンツ・レイアウト
   ================================================== */

/* トップ画像（酒一筋バナー）のエリア */
.top_title {
    width: 900px;
    margin: 20px auto; /* 上下余白 */
    text-align: center;
}

/* 3カラム全体のコンテナ */
.con_box {
    width: 900px;
    margin: 0 auto;
    background: #fff;
    display: flex;
    justify-content: space-between; /* 左右端揃え */
    align-items: flex-start;
    padding-bottom: 50px;
    flex-wrap: wrap;
}

/* 左カラム＋中央カラムのラッパー */
#wrapper {
    width: 680px; /* 900px - 200px(右) - 20px(余白) */
    display: flex;
    justify-content: space-between;
}

/* --- 【重要】PCでの表示制御 --- */

/* スマホ用要素（sp-on）をPCでは完全に消す */
.sp-on {
    display: none !important; 
}

/* PC用要素（sp-none）を表示する */
.sp-none {
    display: block !important;
}

/* --- カラムの並び替え --- */

/* 中央カラム（HTML上は最初） */
#wrapper > .box_center {
    width: 470px;
    order: 2; /* 2番目に表示 */
}

/* 左サイドバー（HTML上は2番目の sp-none） */
#wrapper > .sp-none {
    width: 190px;
    order: 1; /* 1番目（左）に表示 */
}

/* 右サイドバー（wrapperの外にある sp-none） */
.con_box > .sp-none {
    width: 200px;
    margin-left: auto; /* 右寄せ */
}

/* --- コンテンツ内のスタイル --- */
.box_center_oshirase {
    margin-bottom: 20px;
    font-size: 13px;
}

/* タイポグラフィ調整 */
h2 {
    font-size: 18px !important;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 15px;
    margin-top: 0;
}
.top_title_class, .box_left_title_01 {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 14px;
}

/* テーブルスタイル */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
}
td {
    vertical-align: top;
    font-size: 12px;
}

/* =============================================
   見出し画像（img）をテキスト化した要素のスタイル
   ============================================= */
.box-title {
    /* 元のシルバーグラデーションを再現 */
    background: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
    border: 1px solid #b5b5b5;
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin: 0 0 15px 0;
    
    /* 立体感を出すための影（内側の白ハイライト＋外側の薄い影） */
    box-shadow: inset 0 1px 0 #fff, 0 2px 3px rgba(0,0,0,0.08);
    
    /* 文字をくっきり見せる（少しへこんだような）エフェクト */
    text-shadow: 1px 1px 0 #fff;
    
    /* リンクの下線を消す */
    text-decoration: none;
    display: block; 
}

/* リンクになっている .box-title にマウスを乗せた時の動き */
a .box-title {
    color: #333; /* 青文字になるのを防ぐ */
    transition: all 0.2s ease;
}

a:hover .box-title {
    /* マウスを乗せると少し暗くなり、押し込まれたような影になる */
    background: linear-gradient(to bottom, #f4f4f4 0%, #d0d0d0 100%);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1), 0 1px 1px rgba(0,0,0,0.05);
    color: #cc0000; /* 文字が少しエンジ色に変わる */
}

/* プレースホルダー（商品画像などの代わり）用の調整 */
.box_product_01 .box-title {
    background: #f9f9f9;
    color: #999;
    border: 1px dashed #ccc;
    box-shadow: none;
    font-weight: normal;
    padding: 30px 10px; /* 縦長にして写真が入るスペースを確保 */
}



/* ==================================================
   4. スマホ対応 (Responsive)
   ================================================== */

/* スマホ用ナビパーツをPCで隠す */
.sp-navi-out01_new, 
.top_navi-under_sp-new {
    display: none !important;
}

@media screen and (max-width: 768px) {
    /* --- レイアウトのリセット --- */
    .top_image,
    .top_title,
    .con_box,
    #wrapper,
    .box_center,
    .top_navi-under_new--inner {
        width: 100% !important;
        display: block !important;
    }
    
    .con_box { padding: 10px; box-sizing: border-box; }
    .top_title { margin: 10px 0; }
    
    /* Flex解除 */
    #wrapper, #wrapper > .box_center {
        display: block;
        order: unset;
        width: 100%;
    }

    /* --- 表示・非表示の切り替え --- */
    /* PC用要素を隠す */
    .top_image, 
    .top_navi-under_new,
    .sp-none {
        display: none !important;
    }

    /* スマホ用要素を表示 */
    .sp-on,
    .sp-navi-out01_new,
    .top_navi-under_sp-new {
        display: block !important;
    }

    /* --- スマホヘッダー --- */
    .sp-navi-out01_new {
        background: #f7f3e8;
        padding: 10px 15px;
        position: relative;
    }

    /* ハンバーガーメニュー */
    #sp-menu__check { display: none; }
    .sp-menu__box {
        display: block;
        width: 40px; height: 40px;
        position: absolute; top: 15px; right: 15px;
        background: #8b0000;
        border-radius: 4px;
        z-index: 100;
        cursor: pointer;
    }
    .sp-menu__box span {
        position: absolute; left: 8px; top: 19px;
        width: 24px; height: 2px; background: #fff;
        transition: 0.3s;
    }
    .sp-menu__box span:before, .sp-menu__box span:after {
        content: ""; position: absolute; left: 0;
        width: 24px; height: 2px; background: #fff;
        transition: 0.3s;
    }
    .sp-menu__box span:before { top: -8px; }
    .sp-menu__box span:after { bottom: -8px; }

    #sp-menu__check:checked ~ .sp-menu__box span { background: transparent; }
    #sp-menu__check:checked ~ .sp-menu__box span:before { top: 0; transform: rotate(45deg); }
    #sp-menu__check:checked ~ .sp-menu__box span:after { bottom: 0; transform: rotate(-45deg); }

    /* メニュー開閉 */
    .sp-menu__content {
        display: none;
        position: fixed; top: 0; left: 0;
        width: 100%; height: 100vh;
        background: rgba(255,255,255,0.98);
        z-index: 90;
        padding-top: 60px;
        overflow-y: auto;
    }
    #sp-menu__check:checked ~ .sp-menu__content { display: block; }
    
    .sp-menu__list { padding: 20px; }
    .sp-menu__item {
        border-bottom: 1px dotted #ccc;
        margin-bottom: 15px;
        padding-bottom: 10px;
    }
    .sp-menu__link {
        font-size: 16px;
        font-weight: bold;
        display: block;
    }
    .sp-menu__link i { color: #8b0000; margin-right: 10px; }

    /* スマホ下部ナビ */
    .top_navi-under_sp-new--inner {
        display: flex;
        flex-wrap: nowrap;
        background: #fff;
        border-bottom: 1px solid #ddd;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    .top_navi-under_sp-new--inner li {
        text-align: center;
        border-right: 1px solid #eee;
        border-bottom: 1px solid #eee;
        box-sizing: border-box;
    }
	.top_navi-under_sp-new--inner li.nav01,	.top_navi-under_sp-new--inner li.nav02,	.top_navi-under_sp-new--inner li.nav03,	.top_navi-under_sp-new--inner li.nav04{
		width: 25%;
		display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
	}
    .top_navi-under_sp-new--inner li a {
        display: block;
        padding: 10px;
        font-size: 12px;
        color: #333;
    }
}
