/* Shopify Theme CSS (フォント設定、CSS変数、ベーススタイル) */
@font-face {
  font-family: Archivo;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("//beniotome.co.jp/cdn/fonts/archivo/archivo_n4.dc8d917cc69af0a65ae04d01fd8eeab28a3573c9.woff2") format("woff2"),
       url("//beniotome.co.jp/cdn/fonts/archivo/archivo_n4.bd6b9c34fdb81d7646836be8065ce3c80a2cc984.woff") format("woff");
}

@font-face {
  font-family: Archivo;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("//beniotome.co.jp/cdn/fonts/archivo/archivo_n7.651b020b3543640c100112be6f1c1b8e816c7f13.woff2") format("woff2"),
       url("//beniotome.co.jp/cdn/fonts/archivo/archivo_n7.7e9106d320e6594976a7dcb57957f3e712e83c96.woff") format("woff");
}

@font-face {
  font-family: Archivo;
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("//beniotome.co.jp/cdn/fonts/archivo/archivo_i4.37d8c4e02dc4f8e8b559f47082eb24a5c48c2908.woff2") format("woff2"),
       url("//beniotome.co.jp/cdn/fonts/archivo/archivo_i4.839d35d75c605237591e73815270f86ab696602c.woff") format("woff");
}

@font-face {
  font-family: Archivo;
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  src: url("//beniotome.co.jp/cdn/fonts/archivo/archivo_i7.3dc798c6f261b8341dd97dd5c78d97d457c63517.woff2") format("woff2"),
       url("//beniotome.co.jp/cdn/fonts/archivo/archivo_i7.3b65e9d326e7379bd5f15bcb927c5d533d950ff6.woff") format("woff");
}

@font-face {
  font-family: Asul;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("//beniotome.co.jp/cdn/fonts/asul/asul_n4.814c5323104eaec8052c156ea81d27e4cc2ecc89.woff2") format("woff2"),
       url("//beniotome.co.jp/cdn/fonts/asul/asul_n4.fad4580d0c2a0762bf2eec95df0ca1bba03e7345.woff") format("woff");
}

:root,
.color-background-1 {
  --color-background: 255,255,255;
  --gradient-background: #ffffff;
  --color-foreground: 211,49,73;
  --color-background-contrast: 191,191,191;
  --color-shadow: 211,49,73;
  --color-button: 255,255,255;
  --color-button-text: 255,255,255;
  --color-secondary-button: 255,255,255;
  --color-secondary-button-text: 211,49,73;
  --color-link: 211,49,73;
  --color-badge-foreground: 211,49,73;
  --color-badge-background: 255,255,255;
  --color-badge-border: 211,49,73;
  --payment-terms-background-color: rgb(255 255 255);
}

.color-background-2 {
  --color-background: 250,249,225;
  --gradient-background: #faf9e1;
  --color-foreground: 211,49,73;
  --color-background-contrast: 232,227,116;
  --color-shadow: 211,49,73;
  --color-button: 211,49,73;
  --color-button-text: 250,249,225;
  --color-secondary-button: 250,249,225;
  --color-secondary-button-text: 211,49,73;
  --color-link: 211,49,73;
  --color-badge-foreground: 211,49,73;
  --color-badge-background: 250,249,225;
  --color-badge-border: 211,49,73;
  --payment-terms-background-color: rgb(250 249 225);
}

.color-inverse {
  --color-background: 211,49,73;
  --gradient-background: #d33149;
  --color-foreground: 255,255,255;
  --color-background-contrast: 109,23,36;
  --color-shadow: 211,49,73;
  --color-button: 255,255,255;
  --color-button-text: 211,49,73;
  --color-secondary-button: 211,49,73;
  --color-secondary-button-text: 255,255,255;
  --color-link: 255,255,255;
  --color-badge-foreground: 255,255,255;
  --color-badge-background: 211,49,73;
  --color-badge-border: 255,255,255;
  --payment-terms-background-color: rgb(211 49 73);
}

.color-accent-1 {
  --color-background: 255,255,255;
  --gradient-background: #ffffff;
  --color-foreground: 255,255,255;
  --color-background-contrast: 191,191,191;
  --color-shadow: 211,49,73;
  --color-button: 255,255,255;
  --color-button-text: 255,255,255;
  --color-secondary-button: 255,255,255;
  --color-secondary-button-text: 255,255,255;
  --color-link: 255,255,255;
  --color-badge-foreground: 255,255,255;
  --color-badge-background: 255,255,255;
  --color-badge-border: 255,255,255;
  --payment-terms-background-color: rgb(255 255 255);
}

.color-accent-2 {
  --color-background: 211,49,73;
  --gradient-background: #d33149;
  --color-foreground: 255,255,255;
  --color-background-contrast: 109,23,36;
  --color-shadow: 211,49,73;
  --color-button: 255,255,255;
  --color-button-text: 211,49,73;
  --color-secondary-button: 211,49,73;
  --color-secondary-button-text: 255,255,255;
  --color-link: 255,255,255;
  --color-badge-foreground: 255,255,255;
  --color-badge-background: 211,49,73;
  --color-badge-border: 255,255,255;
  --payment-terms-background-color: rgb(211 49 73);
}


:root {
  --font-body-family: Archivo, sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-body-weight-bold: 700;
  --font-heading-family: Asul, serif;
  --font-heading-style: normal;
  --font-heading-weight: 400;
  --font-body-scale: 1.0;
  --font-heading-scale: 1.2;
  --media-padding: px;
  --media-border-opacity: 1.0;
  --media-border-width: 2px;
  --media-radius: 12px;
  --media-shadow-opacity: 1.0;
  --media-shadow-horizontal-offset: 0px;
  --media-shadow-vertical-offset: 6px;
  --media-shadow-blur-radius: 0px;
  --media-shadow-visible: 1;
  --page-width: 120rem;
  --page-width-margin: 0rem;
  --product-card-image-padding: 0.0rem;
  --product-card-corner-radius: 1.2rem;
  --product-card-text-alignment: left;
  --product-card-border-width: 0.0rem;
  --product-card-border-opacity: 1.0;
  --product-card-shadow-opacity: 1.0;
  --product-card-shadow-visible: 1;
  --product-card-shadow-horizontal-offset: 0.0rem;
  --product-card-shadow-vertical-offset: 0.4rem;
  --product-card-shadow-blur-radius: 0.0rem;
  --collection-card-image-padding: 0.0rem;
  --collection-card-corner-radius: 0.0rem;
  --collection-card-text-alignment: left;
  --collection-card-border-width: 0.0rem;
  --collection-card-border-opacity: 0.0;
  --collection-card-shadow-opacity: 0.1;
  --collection-card-shadow-visible: 1;
  --collection-card-shadow-horizontal-offset: 0.0rem;
  --collection-card-shadow-vertical-offset: 0.0rem;
  --collection-card-shadow-blur-radius: 0.0rem;
  --blog-card-image-padding: 0.0rem;
  --blog-card-corner-radius: 0.0rem;
  --blog-card-text-alignment: left;
  --blog-card-border-width: 0.0rem;
  --blog-card-border-opacity: 0.0;
  --blog-card-shadow-opacity: 0.1;
  --blog-card-shadow-visible: 1;
  --blog-card-shadow-horizontal-offset: 0.0rem;
  --blog-card-shadow-vertical-offset: 0.0rem;
  --blog-card-shadow-blur-radius: 0.0rem;
  --badge-corner-radius: 4.0rem;
  --popup-border-width: 2px;
  --popup-border-opacity: 1.0;
  --popup-corner-radius: 12px;
  --popup-shadow-opacity: 1.0;
  --popup-shadow-horizontal-offset: 0px;
  --popup-shadow-vertical-offset: 2px;
  --popup-shadow-blur-radius: 0px;
  --drawer-border-width: 3px;
  --drawer-border-opacity: 0.1;
  --drawer-shadow-opacity: 1.0;
  --drawer-shadow-horizontal-offset: 6px;
  --drawer-shadow-vertical-offset: 6px;
  --drawer-shadow-blur-radius: 0px;
  --spacing-sections-desktop: 64px;
  --spacing-sections-mobile: 45px;
  --grid-desktop-vertical-spacing: 16px;
  --grid-desktop-horizontal-spacing: 16px;
  --grid-mobile-vertical-spacing: 8px;
  --grid-mobile-horizontal-spacing: 8px;
  --text-boxes-border-opacity: 1.0;
  --text-boxes-border-width: 2px;
  --text-boxes-radius: 12px;
  --text-boxes-shadow-opacity: 1.0;
  --text-boxes-shadow-visible: 1;
  --text-boxes-shadow-horizontal-offset: 0px;
  --text-boxes-shadow-vertical-offset: 6px;
  --text-boxes-shadow-blur-radius: 0px;
  --buttons-radius: 40px;
  --buttons-radius-outset: 42px;
  --buttons-border-width: 2px;
  --buttons-border-opacity: 1.0;
  --buttons-shadow-opacity: 0.9;
  --buttons-shadow-visible: 1;
  --buttons-shadow-horizontal-offset: 0px;
  --buttons-shadow-vertical-offset: 2px;
  --buttons-shadow-blur-radius: 0px;
  --buttons-border-offset: 0.3px;
  --inputs-radius: 12px;
  --inputs-border-width: 2px;
  --inputs-border-opacity: 1.0;
  --inputs-shadow-opacity: 1.0;
  --inputs-shadow-horizontal-offset: 0px;
  --inputs-margin-offset: 2px;
  --inputs-shadow-vertical-offset: 2px;
  --inputs-shadow-blur-radius: 0px;
  --inputs-radius-outset: 14px;
  --variant-pills-radius: 40px;
  --variant-pills-border-width: 1px;
  --variant-pills-border-opacity: 0.55;
  --variant-pills-shadow-opacity: 0.0;
  --variant-pills-shadow-horizontal-offset: 0px;
  --variant-pills-shadow-vertical-offset: 0px;
  --variant-pills-shadow-blur-radius: 0px;
}

*, *::before, *::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: calc(var(--font-body-scale) * 62.5%);
  height: 100%;
}

body {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100%;
  margin: 0;
  font-size: 1.5rem;
  letter-spacing: 0.06rem;
  line-height: calc(1 + 0.8 / var(--font-body-scale));
  font-family: var(--font-body-family);
  font-style: var(--font-body-style);
  font-weight: var(--font-body-weight);
}

@media screen and (min-width: 750px) {
  body {
    font-size: 1.6rem;
  }
}

/* Judge.me アプリ関連のCSS */
.jdgm-xx { left: 0; }
:root {
  --jdgm-primary-color: #D33149;
  --jdgm-secondary-color: rgba(211,49,73,0.1);
  --jdgm-star-color: #D33149;
  --jdgm-write-review-text-color: white;
  --jdgm-write-review-bg-color: #D33149;
  --jdgm-paginate-color: #D33149;
  --jdgm-border-radius: 0;
  --jdgm-reviewer-name-color: #D33149;
}
.jdgm-histogram__bar-content { background-color: #D33149; }
.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,
.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge {
  color: white;
  background-color: #D33149;
}
.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before { content: "もっと見る"; }
@media only screen and (min-width: 768px) {
  .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before { content: "もっと見る"; }
}
.jdgm-prev-badge[data-average-rating='0.00'] { display: none !important; }
.jdgm-author-all-initials { display: none !important; }
.jdgm-author-last-initial { display: none !important; }
.jdgm-rev-widg__title { visibility: hidden; }
.jdgm-rev-widg__summary-text { visibility: hidden; }
.jdgm-prev-badge__text { visibility: hidden; }
.jdgm-rev__prod-link-prefix:before { content: 'について'; }
.jdgm-rev__variant-label:before { content: 'バリエーション: '; }
.jdgm-rev__out-of-store-text:before { content: '（ストア外）'; }
@media only screen and (min-width: 768px) {
  .jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,
  .jdgm-rev__pics .jdgm-rev__product-picture { display: none; }
}
@media only screen and (max-width: 768px) {
  .jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,
  .jdgm-rev__pics .jdgm-rev__product-picture { display: none; }
}
.jdgm-preview-badge[data-template="product"] { display: none !important; }
.jdgm-preview-badge[data-template="collection"] { display: none !important; }
.jdgm-preview-badge[data-template="index"] { display: none !important; }
.jdgm-review-widget[data-from-snippet="true"] { display: none !important; }
.jdgm-verified-count-badget[data-from-snippet="true"] { display: none !important; }
.jdgm-carousel-wrapper[data-from-snippet="true"] { display: none !important; }
.jdgm-all-reviews-text[data-from-snippet="true"] { display: none !important; }
.jdgm-medals-section[data-from-snippet="true"] { display: none !important; }
.jdgm-ugc-media-wrapper[data-from-snippet="true"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_written_in_etsy"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_written_in_google_business"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_written_in_shop_app"] { display: none !important; }
.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"] { display: none !important; }
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card {
  border-radius: 8px;
  background: #fff;
}
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star { color: #108474; }
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn {
  border-radius: 50%;
  background: #fff;
}
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn > svg,
.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn > svg { fill: #000; }
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply { border-radius: 8px; }
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after { border-radius: 8px; }
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge { border-radius: calc( 8px / 2 ); }
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before { content: '紅乙女酒造'; }
.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button { border-radius: calc( 8px * 6 ); }

/* アニメーション・フォントアイコン定義 */
@-webkit-keyframes jdgm-spin {
  0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); }
}
@keyframes jdgm-spin {
  0% { -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(359deg); -ms-transform: rotate(359deg); transform: rotate(359deg); }
}
@font-face {
  font-family: 'JudgemeStar';
  src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");
  font-weight: normal;
  font-style: normal;
}
.jdgm-star {
  font-family: 'JudgemeStar';
  display: inline !important;
  text-decoration: none !important;
  padding: 0 4px 0 0 !important;
  margin: 0 !important;
  font-weight: bold;
  opacity: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jdgm-star:hover { opacity: 1; }
.jdgm-star:last-of-type { padding: 0 !important; }
.jdgm-star.jdgm--on:before { content: "\e000"; }
.jdgm-star.jdgm--off:before { content: "\e001"; }
.jdgm-star.jdgm--half:before { content: "\e002"; }
.jdgm-widget * {
  margin: 0;
  line-height: 1.4;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}
.jdgm-hidden { display: none !important; visibility: hidden !important; }
.jdgm-temp-hidden { display: none; }
.jdgm-spinner {
  width: 40px;
  height: 40px;
  margin: auto;
  border-radius: 50%;
  border-top: 2px solid #eee;
  border-right: 2px solid #eee;
  border-bottom: 2px solid #eee;
  border-left: 2px solid #ccc;
  -webkit-animation: jdgm-spin 0.8s infinite linear;
  animation: jdgm-spin 0.8s infinite linear;
}
.jdgm-prev-badge { display: block !important; }
