@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700;900&display=swap");
:root {
  --gutter-width: 1rem;
  --outer-margin: 2rem;
  --gutter-compensation: calc((var(--gutter-width) * 0.5) * -1);
  --half-gutter-width: calc((var(--gutter-width) * 0.5));
  --xs-min: 30;
  --sm-min: 48;
  --md-min: 64;
  --lg-min: 75;
  --screen-xs-min: var(--xs-min)em;
  --screen-sm-min: var(--sm-min)em;
  --screen-md-min: var(--md-min)em;
  --screen-lg-min: var(--lg-min)em;
  --container-sm: calc(var(--sm-min) + var(--gutter-width));
  --container-md: calc(var(--md-min) + var(--gutter-width));
  --container-lg: calc(var(--lg-min) + var(--gutter-width));
}

.row {
  -webkit-box-sizing: border-box; box-sizing: border-box;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-flex: 0; -ms-flex: 0 1 auto; flex: 0 1 auto;
  -webkit-box-orient: horizontal; -webkit-box-direction: normal;
  -ms-flex-direction: row; flex-direction: row;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
}

.row.reverse { -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

.col.reverse { -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; }

.col-xs, .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12,
.col-xs-offset-0, .col-xs-offset-1, .col-xs-offset-2, .col-xs-offset-3,
.col-xs-offset-4, .col-xs-offset-5, .col-xs-offset-6, .col-xs-offset-7,
.col-xs-offset-8, .col-xs-offset-9, .col-xs-offset-10, .col-xs-offset-11, .col-xs-offset-12 {
  -webkit-box-sizing: border-box; box-sizing: border-box;
  -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto;
  padding-right: var(--half-gutter-width, 0.5rem);
  padding-left: var(--half-gutter-width, 0.5rem);
}

.col-xs { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; -ms-flex-preferred-size: 0; flex-basis: 0; max-width: 100%; }

.col-xs-1 { -ms-flex-preferred-size: 8.33333333%; flex-basis: 8.33333333%; max-width: 8.33333333%; }

.col-xs-2 { -ms-flex-preferred-size: 16.66666667%; flex-basis: 16.66666667%; max-width: 16.66666667%; }

.col-xs-3 { -ms-flex-preferred-size: 25%; flex-basis: 25%; max-width: 25%; }

.col-xs-4 { -ms-flex-preferred-size: 33.33333333%; flex-basis: 33.33333333%; max-width: 33.33333333%; }

.col-xs-5 { -ms-flex-preferred-size: 41.66666667%; flex-basis: 41.66666667%; max-width: 41.66666667%; }

.col-xs-6 { -ms-flex-preferred-size: 50%; flex-basis: 50%; max-width: 50%; }

.col-xs-7 { -ms-flex-preferred-size: 58.33333333%; flex-basis: 58.33333333%; max-width: 58.33333333%; }

.col-xs-8 { -ms-flex-preferred-size: 66.66666667%; flex-basis: 66.66666667%; max-width: 66.66666667%; }

.col-xs-9 { -ms-flex-preferred-size: 75%; flex-basis: 75%; max-width: 75%; }

.col-xs-10 { -ms-flex-preferred-size: 83.33333333%; flex-basis: 83.33333333%; max-width: 83.33333333%; }

.col-xs-11 { -ms-flex-preferred-size: 91.66666667%; flex-basis: 91.66666667%; max-width: 91.66666667%; }

.col-xs-12 { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; }

.col-xs-offset-0 { margin-left: 0; }

.col-xs-offset-1 { margin-left: 8.33333333%; }

.col-xs-offset-2 { margin-left: 16.66666667%; }

.col-xs-offset-3 { margin-left: 25%; }

.col-xs-offset-4 { margin-left: 33.33333333%; }

.col-xs-offset-5 { margin-left: 41.66666667%; }

.col-xs-offset-6 { margin-left: 50%; }

.col-xs-offset-7 { margin-left: 58.33333333%; }

.col-xs-offset-8 { margin-left: 66.66666667%; }

.col-xs-offset-9 { margin-left: 75%; }

.col-xs-offset-10 { margin-left: 83.33333333%; }

.col-xs-offset-11 { margin-left: 91.66666667%; }

.first-xs { order: -1; }

.last-xs { order: 1; }

.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-offset-0, .col-offset-1, .col-offset-2, .col-offset-3,
.col-offset-4, .col-offset-5, .col-offset-6, .col-offset-7,
.col-offset-8, .col-offset-9, .col-offset-10, .col-offset-11, .col-offset-12 {
  -webkit-box-sizing: border-box; box-sizing: border-box;
  -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto;
  padding-right: 4px; padding-left: 4px;
}

@media screen and (max-width: 767px) {
  .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
  .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%;
  }
}



.col-1 { -ms-flex-preferred-size: 8.33333333%; flex-basis: 8.33333333%; max-width: 8.33333333%; }

.col-2 { -ms-flex-preferred-size: 16.66666667%; flex-basis: 16.66666667%; max-width: 16.66666667%; }

.col-3 { -ms-flex-preferred-size: 25%; flex-basis: 25%; max-width: 25%; }

.col-4 { -ms-flex-preferred-size: 33.33333333%; flex-basis: 33.33333333%; max-width: 33.33333333%; }

.col-5 { -ms-flex-preferred-size: 41.66666667%; flex-basis: 41.66666667%; max-width: 41.66666667%; }

.col-6 { -ms-flex-preferred-size: 50%; flex-basis: 50%; max-width: 50%; }

.col-7 { -ms-flex-preferred-size: 58.33333333%; flex-basis: 58.33333333%; max-width: 58.33333333%; }

.col-8 { -ms-flex-preferred-size: 66.66666667%; flex-basis: 66.66666667%; max-width: 66.66666667%; }

.col-9 { -ms-flex-preferred-size: 75%; flex-basis: 75%; max-width: 75%; }

.col-10 { -ms-flex-preferred-size: 83.33333333%; flex-basis: 83.33333333%; max-width: 83.33333333%; }

.col-11 { -ms-flex-preferred-size: 91.66666667%; flex-basis: 91.66666667%; max-width: 91.66666667%; }

.col-12 { -ms-flex-preferred-size: 100%; flex-basis: 100%; max-width: 100%; }

.col-offset-0 { margin-left: 0; }

.col-offset-1 { margin-left: 8.33333333%; }

.col-offset-2 { margin-left: 16.66666667%; }

.col-offset-3 { margin-left: 25%; }

.col-offset-4 { margin-left: 33.33333333%; }

.col-offset-5 { margin-left: 41.66666667%; }

.col-offset-6 { margin-left: 50%; }

.col-offset-7 { margin-left: 58.33333333%; }

.col-offset-8 { margin-left: 66.66666667%; }

.col-offset-9 { margin-left: 75%; }

.col-offset-10 { margin-left: 83.33333333%; }

.col-offset-11 { margin-left: 91.66666667%; }

body {
  font-family: "Noto Serif JP", "yu-mincho-pr6n", "Hiragino Mincho ProN", "MS PMincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-size: cover;
  position: relative;
  font-size: 100% !important;
  height: 100%;
  line-height: 1.8;
  letter-spacing: 2px;
  color: #333;
  background: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.5)), url(../images/background.png) repeat !important;
  background-size: 50% 50%;
  margin: 0;
}

.first { order: 1; }

@media screen and (max-width: 767px) { .first { order: 2 !important; } }

@media screen and (max-width: 767px) { .second { order: 1; } }

@media screen and (max-width: 767px) { .inline { display: inline-block !important; } }

@media screen and (max-width: 991px) { .pc { display: none; } }

@media screen and (max-width: 991px) { .sp { display: block; } }

.row { margin: 0 !important; }

@media screen and (max-width: 767px) { .container { width: calc(100% - 16px); padding: 0 !important; } }

.block-revealer__element { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; pointer-events: none; opacity: 0; }

.pages { margin-right: 20px; }

.sfwppa-pages { margin: 0 8px; }

.wp-pagenavi .first, .wp-pagenavi .extend { margin-right: 10px; }

#stickyBox.is-show #floating-menu { left: 30px; position: fixed; top: 0; }

.header {
  position: relative !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.header.scrolled { background: rgba(255,255,255,0.98) !important; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }

.header-content { margin: 0 auto; padding: 1rem; display: flex; justify-content: space-between; align-items: center; }

.nav-menu { display: flex; gap: 2rem; list-style: none; margin: 0; padding: 0; }

.nav-menu a { color: #333; text-decoration: none; font-size: 1.1rem; padding: 0.5rem 0; position: relative; transition: color 0.3s ease; }

.nav-menu a::after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: #333; transition: width 0.3s; }

.user-menu { display: flex; gap: 1rem; align-items: center; }

.login-btn { font-size: 24px; border: none; padding: 0.5rem 1.5rem; cursor: pointer; text-decoration: none; transition: background-color 0.3s; }



@media screen and (max-width: 767px) { #main_visual h1 { font-size: 1.6em !important; } }

.hamburger { flex-direction: column; justify-content: center; width: 40px; height: 48px; background: none; border: none; cursor: pointer; z-index: 1201; }

.hamburger span { display: block; height: 1px; width: 32px; background: #333; margin: 8px 0; border-radius: 2px; transition: all 0.5s; }

.side-menu .nav-menu { display: flex; flex-direction: column; margin: 0; padding: 60px 0 20px 0; list-style: none; gap: 0 !important; }

.side-menu .nav-menu .menu-link { display: flex; align-items: center; justify-content: space-between; color: white; font-size: 1.1em; text-decoration: none; padding: 8px 24px; transition: all 0.2s ease; }

.side-menu .nav-menu .menu-link .dropdown-arrow { font-size: 0.8em; transition: transform 0.3s ease; margin-left: 8px; }

.side-menu .nav-menu .menu-item .submenu li a { display: block; color: rgba(255,255,255,0.9); font-size: 0.95em; text-decoration: none; padding: 12px 24px 12px 48px; transition: all 0.2s ease; }

footer { padding: 80px 0 !important; text-align: left !important; }

.shipping_fee_guidance { margin: 0 !important; }

.notice.notice--gray { margin: 0 !important; }

.sns-section { margin: 0 !important; }

.page-information { margin: 0 !important; }

.notices-section { margin: 0 !important; }

.notice-buttons--top { display: flex !important; flex-direction: row !important; gap: 12px !important; padding: 12px 0 !important; }

.notice-btn {
  display: block;
  flex: 1;
  text-align: center;
  padding: 18px 0;
  border-radius: 8px;
  text-decoration: none;
  font-size: 14px;
}


.news .delivery-info p {
  margin-bottom: 20px;
}
/* ===== 見出し共通(カテゴリー・ランキング・お知らせ = .tot) ===== */

.tot { font-family: "Noto Serif JP","yu-mincho-pr6n","Hiragino Mincho ProN","MS PMincho",serif !important; font-weight: 300 !important; letter-spacing: 0.2em !important; }

/* ===== メインビジュアル見出し ===== */

#main_visual .textBox h2 {
  font-family: "Noto Serif JP","yu-mincho-pr6n","Hiragino Mincho ProN","MS PMincho",serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
}

/* ===== イチオシセット ===== */

.ichoshi-section { background: transparent !important; padding: 8px 0 32px !important; }

.ichoshi-header { text-align: center !important; padding: 24px 0 20px !important; }

.ichoshi-section .ichoshi-period { font-size: 12px !important; color: #555 !important; letter-spacing: 0.12em !important; }

.ichoshi-section .ichoshi-lead { font-size: 12px !important; letter-spacing: 0.2em !important; color: #888 !important; margin-bottom: 12px !important; font-family: "Noto Serif JP", serif !important; line-height: 2 !important; }

.ichoshi-section .ichoshi-cards { display: flex !important; flex-direction: column !important; gap: 8px !important; padding: 0 16px !important; }

.ichoshi-section .ichoshi-card { display: flex !important; align-items: stretch !important; background: #faf8f5 !important; overflow: hidden !important; cursor: pointer !important; text-decoration: none !important; color: inherit !important; min-height: 140px !important; transition: opacity 0.2s ease !important; padding: 8px 8px 0 8px !important; box-sizing: border-box !important; }

.ichoshi-section .ichoshi-card:active { opacity: 0.82 !important; }

.ichoshi-section .ichoshi-img { width: 50% !important; flex-shrink: 0 !important; overflow: hidden !important; }

.ichoshi-section .ichoshi-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }

.ichoshi-section .ichoshi-body { flex: 1 !important; padding: 14px 12px 14px 16px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 6px !important; }

.ichoshi-section .ichoshi-tag { font-size: 9px !important; letter-spacing: 0.25em !important; color: #666 !important; }

.ichoshi-section .ichoshi-title { font-family: "Noto Serif JP","yu-mincho-pr6n",serif !important; font-size: 19px !important; font-weight: 500 !important; letter-spacing: 0.2em !important; color: #444 !important; margin-bottom: 8px !important; }

.ichoshi-section .ichoshi-name { font-family: "Noto Serif JP","yu-mincho-pr6n",serif !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0.06em !important; line-height: 1.5 !important; color: #333 !important; }

.ichoshi-section .ichoshi-sub { display: flex !important; flex-direction: column !important; gap: 2px !important; font-size: 10px !important; color: #666 !important; letter-spacing: 0.03em !important; line-height: 1.6 !important; }

.ichoshi-section .ichoshi-price { font-size: 14px !important; font-weight: 500 !important; color: #333 !important; margin-top: 2px !important; margin-bottom: 0 !important; }

.ichoshi-section .ichoshi-tax { font-size: 10px !important; font-weight: 400 !important; color: #777 !important; margin-left: 1px !important; }

.ichoshi-section .ichoshi-badge { display: inline-block !important; font-size: 11px !important; letter-spacing: 0.08em !important; color: #444 !important; background: #e0dbd4 !important; padding: 2px 8px !important; border-radius: 2px !important; margin-top: 0 !important; }

/* PC：2列グリッド、カード内は写真45%+テキスト55%の横並び */
@media screen and (min-width: 768px) {
  .ichoshi-section .ichoshi-cards { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; padding: 0 !important; gap: 16px !important; }
  .ichoshi-section .ichoshi-card { flex-direction: row !important; min-height: 160px !important; }
  .ichoshi-section .ichoshi-img { width: 45% !important; height: auto !important; flex-shrink: 0 !important; }
  .ichoshi-section .ichoshi-name { font-size: 15px !important; }
  .ichoshi-section .ichoshi-sub { font-size: 11px !important; }
  .ichoshi-section .ichoshi-price { font-size: 15px !important; }
  .ichoshi-section .ichoshi-tag { font-size: 10px !important; }
  .ichoshi-section .ichoshi-body { padding: 16px !important; gap: 8px !important; }
}

/* ===== 定番うめぼし横スクロール ===== */

.teiban-scroll-wrap { padding: 0 0 24px; }

.teiban-label { font-size: 20px; letter-spacing: 0.15em; color: #333; margin-bottom: 12px; padding: 0 4px; font-family: "Noto Serif JP","yu-mincho-pr6n",serif; text-align: center; }

.teiban-scroll { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding-bottom: 8px; }

.teiban-item { display: block; text-decoration: none; color: #333; transition: transform 0.3s ease, box-shadow 0.3s ease; }

.teiban-item:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }

.teiban-item img { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; }

.teiban-item span { display: block; font-size: 14px; letter-spacing: 0.1em; text-align: center; margin-top: 8px; color: #555; font-family: "Noto Serif JP","yu-mincho-pr6n",serif; }

@media screen and (max-width: 767px) {
  .teiban-scroll { display: flex; overflow-x: auto; gap: 8px; padding: 0 16px 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; grid-template-columns: none; }
  .teiban-scroll::-webkit-scrollbar { display: none; }
  .teiban-item { flex: 0 0 auto; width: 200px; }
  .teiban-item img { width: 200px; height: 200px; }
}

/* ===== カテゴリー(限定うめぼし・贈答品など) ===== */

.category-thumbnail { transition: transform 0.3s ease, box-shadow 0.3s ease; }

.category-thumbnail:hover { transform: translateY(-5px) !important; box-shadow: 0 8px 25px rgba(0,0,0,0.15) !important; }

/* ===== ランキング ===== */
.ranking-rank {
  font-family: "Noto Serif JP", "yu-mincho-pr6n", serif !important;
  background: #e0dbd4 !important;
  color: #444 !important;
}
.ranking-name {
  font-family: "Noto Serif JP", "yu-mincho-pr6n", serif !important;
  text-align: center;
}
.ranking-price {
  text-align: center;
}
.ranking-item { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.ranking-item:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }

/* ===== こだわり・イベント・れしぴ(Grid方式) ===== */

.page-information figure { height: 180px !important; overflow: hidden !important; margin: 0 !important; }

.page-information figure img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

.page-information .row .col-4 > a { display: block !important; }

@media screen and (min-width: 768px) {
  .page-information .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
  .page-information .row .col-4 {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
  }
  .page-information .row::before,
  .page-information .row::after {
    content: none !important;
    display: none !important;
  }
  .page-information figure { height: 200px !important; }
}

/* ===== お知らせ ===== */

#notices-more-wrap {
  text-align: center !important;
  padding: 16px 0 !important;
}

@media screen and (max-width: 767px) {
  #notices-more-wrap {
    margin-left: 0 !important;
    padding: 16px 16px !important;
  }
}

.notices-list .notice-item {
  text-align: center;
}


.price-notice{display:block !important;width:100% !important;box-sizing:border-box !important;text-align:center !important;}

/* ===== こだわり・イベント・れしぴ(Grid方式) ===== */
.page-information figure { height: 200px !important; overflow: hidden !important; margin: 0 !important; }
.page-information figure img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.page-information .row .col-4 > a { display: block !important; }

@media screen and (min-width: 768px) {
  .page-information .row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
  }
  .page-information .row .col-4 {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
  }
  .page-information .row::before,
  .page-information .row::after {
    content: none !important;
    display: none !important;
  }
}

/* ===== お知らせ ===== */
#notices-more-wrap {
  text-align: center !important;
  padding: 16px 0 !important;
}
@media screen and (max-width: 767px) {
  #notices-more-wrap {
    margin-left: 0 !important;
    padding: 16px 16px !important;
  }
}
.notices-list .notice-item {
  text-align: center;
}
.price-notice{display:block !important;width:100% !important;box-sizing:border-box !important;text-align:center !important;}


header {
  margin-bottom: 0 !important;
}

#main_visual {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#main_visual .container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.header {
  margin-bottom: 0 !important;
}

#main_visual {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#main_visual::before {
  display: none !important;
}

.header + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


#main_visual {
  position: relative !important;
  top: -60px !important;
}


}