/** Shopify CDN: Minification failed

Line 2288:0 Unexpected "}"

**/
/*====================================
	
	----------------------------------
		Color
	----------------------------------
	
      Main     : #222
      Accent   : #516c4f

	----------------------------------
  		font
	----------------------------------

      Noto Sans Japanese

	----------------------------------
  		Structure
  ----------------------------------

  	0. General
      0.1 root
      0.2 Media Query
      0.3 Breadcrumbs
      0.4 Button
      0.5 Other
  	1. Header
      1.1 Header PC
      1.2 Header Mobile
    2. Footer
    3. Section
  		3.1 section-header
  		3.2 section--divider-image
        3.3 Text columns with images
        3.4 Collection list
        3.5 Featured product
        3.6 Featured collection
        3.7 Blog posts
        3.8 FAQ
        3.9 Hero (optional slides)
        3.10 Slideshow (simple)
        3.11 Navi mobile
        3.12 Logo list
        3.13 Image with text
        3.14 Featured content
        3.15 Link list
        3.16 Age Verification Popup
    4. Snippet  
        4.1 product-grid-item
  	5. Product
        5.1 Product Gallery
        5.2 Product Content
    6. Collection
        6.1 Collection Header
  	7. Page
    	7.1 Concept
        7.2 Shop
    8. Blog
    9. Article
    10. Cart
    11. Account
      11.1 Login
      11.2 Register
      11.3 Account
      11.4 Address  
    12. Policy
      12.1 General Policy
      12.2 Legal Notice  
    13. App
      13.1 Related Blog Posts Pro
      13.2 Judge.me

====================================*/


/*====================================

	0. General

====================================*/
/*
 	0.1 root
====================================*/
:root {
  --typeHeaderPrimary: "Noto Sans JP", sans-serif;
  --typeBasePrimary: "Noto Sans JP", sans-serif;
  --typeBaseWeight: 400;
}

html {
    scroll-padding-top: 120px;
}

/*
 	0.2 Media Query
====================================*/
@media (min-width:768px) {
  .visible-sp {
    display: none!important
  }
}
@media (min-width:992px) {
  .visible-tb {
    display: none!important
  }
}
@media (max-width:991px) {
  .visible-pc {
    display: none!important
  }
}
@media (max-width:767px) {
  .hidden-sp {
    display: none!important
  }
}
@media (max-width:991px) {
  .hidden-tb {
    display: none!important
  }
}
@media (min-width:992px) {
  .hidden-pc {
    display: none!important
  }
}

/*
 	0.3 Breadcrumbs
====================================*/
.breadcrumb {
  margin: 0 0 30px;
}
@media only screen and (max-width: 768px) {
  .breadcrumb {
    margin: 0 0 15px;
  }
}
.breadcrumb a:first-of-type:before {
  content: none;
}
.breadcrumb a:before {
  content: ">";
  display: inline;
  margin-right: .3em;
  margin-left: .3em;
}
.breadcrumb_current {
  pointer-events: none;
}

/*
 	0.4 Button
====================================*/
.color-scheme-2 .btn,
.color-scheme-3 .btn {
  background-color: var(--colorBtnPrimary);
}
.btn--primary {
  transition: .3s;
}
.btn--primary:hover {
  transition: .3s;
  opacity: .8;
}
.btn-secondary {
  background: #fff;
  color: var(--colorBtnPrimary);
  border: 1px solid var(--colorBtnPrimary);
  transition: .3s;
}
.btn-secondary:hover {
  color: var(--colorBtnPrimary);
  opacity: .8;
}
.btn-secondary a {
  color: var(--colorBtnPrimary);
}
.btn-secondary:hover a {
  color: #fff;
}

.btn--quick-add {
  width: 100%;
  margin-right: var(--productTileMargin);
  font-size: 14px;
  transition: .3s;
  animation: none !important;
  transition: none !important;
  left: 0px;
  margin: 0px !important;
  position:relative;
}
.btn--quick-add:hover {
  opacity: .8;
}
@media only screen and (max-width: 768px) {
  .btn--quick-add {
    width: 80%;
    font-size: 12px;
    padding: 9px;
  }
}
span.btn.btn--quick-add.btn--loaded:before {
  content: "追加しました";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  border-radius: 100%;
  align-items: center;
  justify-content: center;
}

/* 2605リニューアル用 */
.btn-primary {
  background: var(--colorBtnPrimary);
  border: 1px solid transparent;
  border-radius: var(--buttonRadius);
  color: var(--colorBtnPrimaryText);
  cursor: pointer;
}
.btn-primary:hover {
  color: var(--colorBtnPrimaryText);
}

.btn-secondary {
  background-color: var(--colorBody);
  border: 1px solid transparent;
  border-radius: var(--buttonRadius);
  color: var(--colorTextBody);
  cursor: pointer;
}


/*
 	0.5 Other
====================================*/
/* tax */
.tax {
  font-size: .7em;
  padding-left: 3px;
}

/* shipping-table */
@media only screen and (min-width: 769px) { 
 .shipping-table {
  max-width: 400px;
 } 
}
.shipping-table th {
 font-weight: 400;
 width: 65%
} 
.shipping-table td {
 width: 35%
} 


/*====================================

	1. Header

====================================*/
/*
 	1.1 Header PC
====================================*/
.site-nav__link {
  font-weight: 700;
}
.site-nav__link--icon .icon path {
  stroke-width: 4px !important;
}

/*
 	1.2 Header Mobile
====================================*/
@media only screen and (max-width: 768px) {
  .site-header__logo {
    margin: 8px 0
  }
  .site-nav__link--icon {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .slide-nav__link span {
    font-weight: 500;
  }
}
  
/*====================================

	2. Footer

====================================*/

.footer__section--menus {
  margin-bottom: 80px;
  padding-top: 40px;
  padding-bottom: 0;
}
.footer__blocks {
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .footer__blocks {
    justify-content: center;
  }
} 
/*　Footer Image　*/
.footer__block[data-type="image"] {
  max-width: 305px;
}
.footer__blocks .image-wrap {
  background: transparent;
}
.image-bottom-social-icons .footer__social {
  text-align: right;
}
.image-bottom-social-icons .footer__social .icon {
  height: 32px;
  width: 32px;
}
@media only screen and (max-width: 768px) {
  .footer__block[data-type="image"] {
    max-width: 236px;
  }
  .image-bottom-social-icons .footer__social .icon {
    height: 21px;
    width: 21px;
  }
}
/*　Footer Menu　*/
.footer__block[data-type="menu"] {
  max-width: unset;
  flex: 0 1 350px;
}
.footer__menu {
  display: flex;
  flex-wrap: wrap;
}
.footer__menu li {
  flex: 1 0 50%;
}
.footer__menu li a {
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .footer__block[data-type="menu"] {
    flex: 0 1 300px;
  }
}
/*　Footer Copyright　*/
.footer__section-bottom {
  padding: 0 0 16px 0;
}
@media only screen and (max-width: 768px) {
  .footer__section-bottom .footer__base-links {
    text-align: center;
  }
}

/*====================================

	3. Section

====================================*/
@media only screen and (max-width: 768px) {
  .index-section {
    margin: 20px 0;
  }
}

/*
 	3.1 section-header
====================================*/
.section-header {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .section-header {
    margin-bottom: 20px;
  }
}
.section-header__title {
  text-align: center;
}
.section-header__column {
  flex-direction: column;
}
.section-header .section-header__title {
  letter-spacing: .1em;
}
@media only screen and (max-width: 768px) {
  .section-header .section-header__title {
    font-size: 24px;
  }
}
.section-header .section-header__subtitle {
  margin: 0;
  letter-spacing: .05em;
}
    


/*
 	3.2 section--divider-image
====================================*/
.section--divider-image {
  padding-top: 20px;
  padding-bottom: 30px;
}
.section--divider-image img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .section--divider-image {
    padding-top: 10px;
    padding-bottom: 20px;
  }
}

/*
 	3.3 Text columns with images
====================================*/
.section--text-columns .image-wrap {
  transition: all .2s ease;
}
.section--text-columns .image-wrap:hover {
    box-shadow: 0 3px 10px #0000001a;
    transform: translateY(-3px);
}
@media only screen and (max-width: 768px) {
  .section--text-columns .image-wrap {
    margin-bottom: 0;
  }
}


/*
 	3.4 Collection list
====================================*/
/*====== #index-scene ======*/
@media only screen and (max-width: 768px) {
  #index-scene [data-view="6-3"] .grid-item {
    flex: 0 0 50%;
  }
}
/*====== .select-collection ======*/
.select-collection .collection-image img {
  padding: 0;
}
.select-collection .collection-image-wrap:after {
  background-color: transparent;
}
@media only screen and (max-width: 768px) {
  .select-collection .grid-item {
   min-height: 58px; 
  }
  .select-collection .collection-item {
    margin: 0;
    padding-top: 5px;
  }
  .select-collection .collection-item__title {
    margin: 0;
    padding: 0;
  }
}


/*====== .collection-occasion ======*/
.collection-occasion .grid-item {
  flex: 0 0 33.3333%;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
}
.collection-occasion .grid-item img {
  padding: 0;
  width: 100%;
  height: auto;
}
.collection-occasion .collection-image--landscape {
  padding-top: 56%;
}
.collection-occasion .collection-item__title {
  display: none;
}
@media only screen and (max-width: 768px) {
  .collection-occasion .grid-item {
    flex: 0 0 50%;
  }
}

/*
 	3.5 Featured product
====================================*/
@media only screen and (max-width: 768px) {
  .product-main-slide {
    border-color: #f7f7f7;
  }
}
/*
 	3.6 Featured collection
====================================*/
.view-all-btn {
    text-align: center;
    margin-top: 30px;
}
.section-featured-collection .view-all-btn {
  margin-top: 0; 
}
@media only screen and (max-width: 768px) {
  .section-featured-collection .view-all-btn {
    margin-top: 20px; 
  }
}


/*
 	3.7 Blog posts
====================================*/
.section-blog-posts .grid-article__meta {
  text-align: left;
  margin-top: 15px; 
}
.section-blog-posts .article__content {
  font-weight: 400;
  line-height: 1.6;
  margin-top: 10px;
}
.blog-layout__sidebar .grid-article__meta {
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .section-blog-posts .grid-article[data-style=compact] {
    flex-direction: column;
    margin-bottom: 40px;
  }
  .section-blog-posts .grid-article[data-style=compact] > div {
    width: 100%;
  }
  .blog-layout__sidebar .grid-article__meta {
    margin-top: 15px;
  }
  .section-blog-posts .article__title {
    font-size: 16px;
  }
  .section-blog-posts .grid-article[data-style=compact]  .grid-article__meta {
    padding-left: 0;
  }
  .section-blog-posts .article__content {
    margin-top: 15px;
  }
}
/*
 	3.8 FAQ
====================================*/
.collapsible-content__inner h3 {
  font-size: 18px;
}

/*
 	3.9 Hero (optional slides)
====================================*/
.hero__slideshow-wrapper .hero[data-arrows=true] .flickity-prev-next-button {
  top: 50%;
  transition: .3s;
}
.hero__slideshow-wrapper .hero[data-arrows=true] .flickity-previous {
  left: 3%;
  right: unset;

}
.hero__slideshow-wrapper .hero[data-arrows=true] .flickity-next {
  right: 3%;
  left: unset;
}

/*
 	3.10 Slideshow (simple)
====================================*/
.swiper--wrapper {
  width: 100%;
  height: auto;
}
.swiper-slide {
  width: 100%;
  height: auto;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .2s;
}
.swiper-slide a:hover img {
  opacity: .7;
}
.swiper .swiper-arrow {
  background: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
@media only screen and (max-width: 768px) {
  .swiper .swiper-arrow {
    width: 33px;
    height: 33px;
  }
}
.swiper-arrow img {
  width: 12px;
  height: 12px;
}
@media only screen and (max-width: 768px) {
  .swiper-arrow img {
    width: 10px;
    height: 10px;
  }
}
.swiper-button-next img {
  transform: scale(-1, 1);
}  
.swiper .swiper-button-prev {
  left: 3%;
}  
.swiper .swiper-button-next {
  right: 3%;
}  
.swiper-pagination-bullets {
  position: static;
  margin-top: 10px;
} 
@media only screen and (max-width: 768px) {
  .swiper-pagination-bullets {
    margin-top: 0;
  }
}
.swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  margin: 0 0 0 10px !important;
  background: #516c4f !important;
}
@media only screen and (max-width: 768px) {
  .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }
}
.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

/*
 	3.11 Navi mobile
====================================*/
.navi-mobile-container .site-navigation {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 5px 0;
  overflow-x: scroll; 
  overflow-y: hidden; 
}
.navi-mobile-container .site-nav__link {
  font-size: 13px;
  font-weight: normal;
  padding: 0 15px;
}  

/*
 	3.12 Logo list
====================================*/
/*====== #index-logo-list ======*/
#index-logo-list {
  margin-bottom: -30px;
  margin-top: 30px;
}
@media (max-width:768px) {
  #index-logo-list {
    margin-bottom: -20px;
    margin-top: 20px;
  }
}
#index-logo-list .new-grid {
  max-width: 900px;
  margin: 0 auto;
  justify-content: space-around !important;
}
#index-logo-list .logo-bar__item {
  height: 100%;
  justify-content: flex-start;
}
@media (max-width:768px) {
  #index-logo-list [data-view="6-2"] .grid-item {
    flex: 0 0 25%;
  }
}
#index-logo-list .logo-bar__link {
  display: flex;
  flex-direction: column;
  height: 100%;  
}
#index-logo-list .logo-bar__image {
  width: 80px;
  margin-bottom: 10px;
}
@media (max-width:768px) {
  #index-logo-list .logo-bar__image {
    width: 50px;
  }
}
#index-logo-list .logo-bar__item p {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.6;
}
@media (max-width:991px) {
  #index-logo-list .logo-bar__item p {
    font-size: 14px;
  }
}
@media (max-width:768px) {
  #index-logo-list .logo-bar__item p {
    font-size: 12px;
    letter-spacing: 0;
    
  }
}

/*
 	3.13 Image with text
====================================*/
.feature-row__image-note {
  font-size: 14px;
  text-align: center;
  padding-top: 8px;
}
@media only screen and (max-width: 768px) {
  .feature-row__image-note {
     font-size: 12px;
  }
}

/*
 	3.14 Featured content
====================================*/
.section__featured-content .page-width {
  margin-top: -200px;
  padding-top: 200px;
}
@media only screen and (max-width: 768px) {
  .section__featured-content .page-width {
    margin-top: -100px;
    padding-top: 100px;
  }
}
.featured-content-container {
  display: flex;
  align-items: center;
}
.featured-content-container > div {
  width: 50%;
}
.featured-content-text h2 span {
  background: linear-gradient(transparent 70%, #516c4f4D 70%);
}
.featured-content-product {
  padding-left: 50px;
}
.featured-content-product .grid-product {
  margin-bottom: 0;
}
.featured-content-product.show_underline .grid-product__title {
  display: inline-block;
  font-weight: bold;
  background: linear-gradient(transparent 70%, #516c4f4D 70%);
}
.featured-content-product .grid-item__meta {
  text-align: center;
}
.featured-content-product .grid-item__meta-tags {
  justify-content: center;
}
.featured-content-product .btn--quick-add {
  display: none !important;
}
.featured-content-btn {
  padding: 0 20px;
}
.featured-content-btn .btn {
  width: 100%;
  display: block;
}
@media only screen and (max-width: 768px) {
  .featured-content-container {
    flex-direction: column;
    row-gap: 30px;
  }
  .featured-content-container > div {
    width: 100%;
  }
  .featured-content-product {
    padding-left: 0;
  }
}

/*====== feature-page ======*/
.template-feature-page #MainContent {
  max-width: 1240px;
  margin: 0 auto 100px;
  padding: 0 20px;
}


/*
 	3.15 Link list
====================================*/
.linklist-container {
  display: flex;
}
.linklist-item {
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  border-left: 1px solid #222;
  width: 25%;
  height: auto;
}
.linklist-item:last-of-type {
  border-right: 1px solid #222;
}
.linklist-item a {
  display: block;
  padding: 5px 10px;
  color: #516c4f;
  font-size: 14px;
  font-weight: bold;
  transition: .3s;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.linklist-item a:hover {
  color: #fff;
  background: #516c4f;
}
@media only screen and (max-width: 768px) {
  .linklist-container {
    flex-wrap: wrap;
  }
  .linklist-item {
    width: 100%;
    border-top: 1px solid #222;
    border-left: 1px solid #222;
    border-right: 1px solid #222;
    border-bottom: none;
  }
  .linklist-item:last-of-type {
    border-bottom: 1px solid #222;
  }
}

/*
 	3.16 Age Verification Popup
====================================*/
.age-verification-popup.age-verification-popup--image-false.color-scheme-none {
  background-color: rgba(0,0,0,0.7) !important;
}
.age-verification-popup.age-verification-popup--image-false .modal__inner {
  background-color: #fff !important;
}      


/*====================================

	4. Snippet

====================================*/
/*
 	4.1 product-grid-item
====================================*/
.grid-item {
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  .grid-item {
    margin-bottom: 25px;
  }
}
.grid-item__content {
 justify-content: space-between; 
}
.grid-item__content .quick-add-btn {
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  .grid-item__content .quick-add-btn {
    flex-grow: 0;
  }
}
@media only screen and (max-width: 768px) {
  .scrollable-grid--small .grid-item {
    flex: 0 0 60%;
  }
}

.grid-item__meta-tags {
  display: flex;
  flex-wrap: wrap;
  column-gap: 5px;
  row-gap: 5px;
  margin-bottom: 5px;
}
.grid-item__meta-tag {
  font-size: 10px;
  padding: 3px 10px;
  font-weight: 700;
}
.product-flavor-tag {
  background: #516c4f;
  color: #fff;
}

/*====== label：Product Type ======*/
/* 赤ワイン（赤） */
.product-type__red-wine {
  background: #bf1e33;
  color: #fff;
}
/* 白ワイン（黒線＋白） */
.product-type__white-wine {
  /*border: 1px solid #222;*/
  background: #f0f8ff;
}
/* ロゼワイン（ピンク） */
.product-type__rose {
  background: #ff9aba;
}
/* オレンジワイン（濃いオレンジ） */
.product-type__orange-wine {
  background: #ee7800;
  color: #fff;
}
/* スパークリング（金のラメ） */
.product-type__sparkling {
  background-image: url('/cdn/shop/files/label_sparkling_bg.jpg?v=1690350823');
  background-size: cover;
  background-position: center;
  background-color: rgba(255,255,255,0.5);
  background-blend-mode: lighten;
}
/* シードル（肌色） */
.product-type__cider {
  background: #f4be9b;
}
/* ジュース（赤よりの紫） */
.product-type__juice {
  background: #c54ea0;
  color: #fff;
}
/*その他（茶色）  */
.product-type__other {
  background: #5d1a1d;
  color: #fff;
}

/*====== label：新入荷 ======*/
.grid-product__tags--top {
  top: 0;
}
.grid-product__tag--new {
  font-size: 12px;
  padding: 8px 12px;
  margin-top: 0;
  background: #222;
}

/*====== badge：Ranking ======*/
.grid-item .badge {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #222;
  color: #fff;
  border-radius: 50%;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
}
.grid-item:nth-child(1)  .badge {
  background: #C09933;
}
.grid-item:nth-child(1)  .badge:before {
  content: '1';
}
.grid-item:nth-child(2)  .badge {
   background: #F9F6EC;
  color: #222;
}
.grid-item:nth-child(2) .badge:before {
  content: '2';
}
.grid-item:nth-child(3)  .badge {
   background: #502200;
}
.grid-item:nth-child(3) .badge:before {
  content: '3';
}
.grid-item:nth-child(4) .badge:before {
  content: '4';
}
.grid-item:nth-child(5) .badge:before {
  content: '5';
}


/*====================================

	5. Product

====================================*/
/*
 	5.1 Product Gallery
====================================*/
.product__main-photos .product-slideshow {
  border-color: #f7f7f7;
}
.product__thumb .image-wrap img {
  border-color: #f7f7f7;
}

/*
 	5.2 Product Content
====================================*/
.product-single__meta {
  padding-top: 0;
}
.product-block--text {
  margin-bottom: 5px;
}
.product-block--description {
  margin-top: 30px;
}
.product-block--description p {
  margin-bottom: 5px;
}

p.store-availability__small {
  display: none
}
.store-availability__small--link .tool-tip-trigger__title {
  padding: 5px 15px;
  border: 1px solid #222;
  background: #f7f7f7;
}
/* Dynamic Checkout Button : Google Pay */
.shopify-cleanslate .h7OYsWHrW5495r9beh2n {
  min-height: 54px;
  border-radius: var(--buttonRadius);
}
.product-block_vendor {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 5px;
}
/* Tags */
.product-block__tags ul {
  display: flex;
  column-gap: 10px;
  margin: 0;
}
.product-block__tags ul li {
  list-style: none;
  font-size: 12px;
  padding: 3px 5px;
  margin: -20px 0 20px 0;
}
@media only screen and (max-width: 768px) {
  .product-block__tags ul li {
    font-size: 10px;
  }
}
.tags-color-gray {
  color: #6d6d6d;
  border: solid 1px #6d6d6d;
}
/* Spec */
.product-block__spec dl {
  display: flex;
  margin: 0;
}
.product-block__spec dt,
.product-block__spec dd {
  border-left: 1px solid #222222cc;
  border-top: 1px solid #222222cc;
  padding: 8px 12px;
}
.product-block__spec dl:last-child dt,
.product-block__spec dl:last-child dd {
  border-bottom: 1px solid #222222cc;
}
.product-block__spec dt {
  width: 25%;
  min-width: 110px;
  font-weight: bold;
}
.product-block__spec dd {
  width: 75%;
  margin-left: 0;
  border-right: 1px solid #222222cc;
}
@media only screen and (max-width: 768px) {
  .product-block__spec dt,
  .product-block__spec dd {
    padding: 4px 6px;
  }
}
/* Voice */
.product-block__voice {
  display: flex;
}
.product-block__voice_image {
  width: 25%;
  min-width: 110px;
}
.product-block__voice_image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 8px;
}
.product-block__voice_name p {
  margin-bottom: 0;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
.product-block__voice_name .product-block__voice_name_title {
  font-size: 14px;
  font-weight: bold;
}
.product-block__voice_content {
  width: 75%;
  margin-left: 16px;
  margin-top: 16px;
}
.product-block__voice_content p {
  padding: 8px 12px;
  border: 1px solid #516c4f;
  border-radius: 15px;
  background: #fff;
  position: relative;
}
.product-block__voice_content p:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #fff;
  border-top: solid 1px #516c4f;
  border-right: solid 1px #516c4f;
  transform: rotate(225deg);
  position: absolute;
  top: 32px;
  left: -11px;
}
@media only screen and (max-width: 768px) {
  .product-block__voice {
    flex-direction: column;
    align-items: center;
  }
  .product-block__voice_image {
    width: 50%;
    max-width: 150px;
  }
  .product-block__voice_content {
    width: 100%;
    margin-left: 0;
  }
  .product-block__voice_content p:before {
    content: none;
  }
}

/*
 	5.3 Other section
====================================*/
/*====== Image with text ======*/
.template-product .section__image-with-text .feature-row,
.template-article .section__image-with-text .feature-row {
  align-items: flex-start;
}
.template-product .feature-row-wrapper .feature-row__text h2,
.template-article .feature-row-wrapper .feature-row__text h2 {
  display: inline-block;
  border-bottom: 3px solid #516c4f;
  font-size: calc(var(--typeHeaderSize)* 0.7);
}
@media only screen and (min-width: 769px) {
  .template-product .feature-row-wrapper .feature-row__text,
  .template-article .feature-row-wrapper .feature-row__text {
    flex: 0 1 50%;
    min-width: 50%;
  }
  .template-product .feature-row__text--right,
  .template-article .feature-row__text--right {
    padding-right: 20px;
  }
  .template-product .feature-row__text--left,
  .template-article .feature-row__text--left {
    padding-left: 20px;
  }
  .template-product .feature-row__images,
  .template-article .feature-row__images {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .template-product .feature-row__text,
  .template-article .feature-row__text {
    order: 1;
    padding: 0;
  }
  .template-product .feature-row__images,
  .template-article .feature-row__images {
    order: 2;
    margin-top: 15px;
    padding: 0;
  }
  .template-product .feature-row-wrapper .feature-row__text h2,
  .template-article .feature-row-wrapper .feature-row__text h2 {
    display: block;
    font-size: calc(var(--typeHeaderSize)* 0.57);
  }
}
/* .product__maker */
.template-product .section__image-with-text .product__maker .feature-row,
.template-article .section__image-with-text .product__maker .feature-row {
  align-items: center;
}
.template-product .product__maker.feature-row-wrapper .feature-row__text h2,
.template-article .product__maker.feature-row-wrapper .feature-row__text h2 {
  border-bottom: none;
  font-size: calc(var(--typeHeaderSize)* 0.85);
}
.product__maker .accent-subtitle {
  position: relative;
  padding-left: 18px;
  margin-bottom: 0;
}
.product__maker .accent-subtitle:before {
  position: absolute;
  content: "";
  background: url(/cdn/shop/files/icon_marker.svg?v=1733279518) no-repeat;
  background-size: 100%;
  width: 12px;
  height: 16px;
  left: 0;
  top: 8px;
}
@media only screen and (max-width: 768px) {
  .template-product .product__maker.feature-row-wrapper .feature-row__text h2,
  .template-article .product__maker.feature-row-wrapper .feature-row__text h2 {
    font-size: calc(var(--typeHeaderSize)* 0.7);
  }
}

/*====== Richtext ======*/
.template-product .section-rich-text h2,
.template-article .section-rich-text h2 {
  display: inline-block;
  border-bottom: 3px solid #516c4f;
}
@media only screen and (min-width: 769px) {
  .template-product .section-rich-text .theme-block,
  .template-article .section-rich-text .theme-block {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .template-product .section-rich-text h2,
  .template-article .section-rich-text h2 {
    display: block;
  }
}

/*====== Featured collection ======*/
#product__maker__recommend {
  margin-top: -20px;
  padding-top: 20px;
}

.product__maker__recommend {
  margin-top: 100px;
}





/*====================================

	6. Collection

====================================*/
.collapsible-content.is-open[data-collapsible-id="filter-生産者"] {
  height: 100% !important;
}

/*
 	6.1 Collection Header
====================================*/
.collection-hero {
  background: transparent;
  height: 268px;
}
.collection-hero__inner {
  display: flex;
  height: 100%;
  align-items: flex-start;
  column-gap: 50px;
} 
.collection-hero__inner > div {
  width: 50%;
  height: 100%;
}
.collection-hero__subtitle {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .collection-hero__image-container img {
    height: 100%;
    object-fit: cover;
  }
}
@media only screen and (max-width: 768px) {
  .collection-hero {
    height: auto;
  }
  .collection-hero__inner {
    flex-direction: column;
    row-gap: 30px;
    position: relative;
    padding: 0;
  }
  .collection-hero__inner > div {
    width: 100%;
  } 
  .collection-hero__text-wrapper {
    order: 2;
    padding: 0 17px;
  }
  .collection-hero__image-container {
    order: 1;
  }
  .collection-hero__title {
    position: absolute;
    top: 90px;
    right: 15px;
    display: block;
    width: auto;
    text-align: center;
    background: #ffffff99;
    color: #333;
    padding: 5px 30px;
    font-size: 20px;
  }
  .section-header__subtitle {
    display: none;
  }
}  

/*====================================

	7. Page

====================================*/

/*
 	7.1 Concept
====================================*/
@media only screen and (min-width: 769px) {
  .template-page-concept .feature-row-wrapper .feature-row__text {
    flex: 0 1 50%;
    min-width: 50%;
  }
  .template-page-concept .feature-row__text--right {
    padding-right: 20px;
  }
  .template-page-concept .feature-row__text--left {
    padding-left: 20px;
  }
  .template-page-concept .feature-row__images {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .template-page-concept .feature-row__text {
    order: 1;
  }
  .template-page-concept .feature-row__images {
    order: 2;
    margin-top: 15px;
  }
}

/*
 	7.2 Shop
====================================*/
.shop-container {
  display: flex;
  align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
@media only screen and (max-width: 768px) {
  .shop-container {
    flex-direction: column;
    padding: 0;
  }
}
.shop-container > div {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .shop-container > div {
    width: 100%;
  }
}
.shop-info {
  padding-right: 5%;
}
@media only screen and (max-width: 768px) {
  .shop-info {
    padding-right: 0;
    margin-bottom: 50px;
  }
}
.shop-item {
  position: relative;
  padding: 0 8px 15px;
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  .shop-item {
    padding: 0 0 15px;
  }
}
.shop-item::before {
  position: absolute;
  content: "";
  background-image: url('//shop.jan-wine.com/cdn/shop/t/26/assets/image-dot.svg?v=22726264608190168941779259961');
  background-repeat: no-repeat;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  right: 0;
}
.shop-item-title {
  font-size: 18px;
  font-weight: bold;
  padding-left: 36px;
  margin-bottom: 0 !important;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .shop-item-title {
    font-size: 16px;
    padding-left: 28px;
    margin-bottom: 5px;
  }
}
.shop-item-title::before {
  position: absolute;
  content: "";
  left: 0;
}
.shop-item-title-area::before {
  width: 20px;
  height: 28px;
  background: url(/cdn/shop/files/icon-marker.svg?v=1733806255) no-repeat;
  top: 4px;
  background-size: 100%;
}
@media only screen and (max-width: 768px) {
  .shop-item-title-area::before {
    width: 18px;
    height: 24px;
  }
}
.shop-item-title-access::before {
  width: 26px;
  height: 20px;
  background: url(/cdn/shop/files/icon-car.svg?v=1733806263) no-repeat;
  top: 9px;
  background-size: 100%;
}
@media only screen and (max-width: 768px) {
  .shop-item-title-access::before {
    width: 22px;
    height: 18px;
    top: 7px;
  }
}
.shop-item-title-open::before {
  width: 24px;
  height: 20px;
  background: url(/cdn/shop/files/icon-shop.svg?v=1733806276) no-repeat;
  top: 9px;
  background-size: 100%;
}
@media only screen and (max-width: 768px) {
  .shop-item-title-open::before {
    width: 20px;
    height: 18px;
    top: 8px;
  }
}
.shop-item-title-tel::before {
  width: 24px;
  height: 24px;
  background: url(/cdn/shop/files/icon-tel.svg?v=1733806285) no-repeat;
  top: 7px;
  background-size: 100%;
}
@media only screen and (max-width: 768px) {
  .shop-item-title-tel::before {
    width: 20px;
    height: 20px;
    top: 6px;
  }
}
.shop-item-title-line::before {
  width: 24px;
  height: 24px;
  background: url(/cdn/shop/files/icon-chat.png?v=1761267053) no-repeat;
  top: 7px;
  background-size: 100%;
}
.shop-item-flex {
  display: flex;
  align-items: center;
  gap: 15px;
  justify-content: space-between;
}


.shop-item-text {
  font-size: 1rem;
}
@media only screen and (max-width: 768px) {
  .shop-item-text {
    font-size: 14px;
  }
}
.shop-item-text-label {
	display: block;
	font-size: 16px;
	font-weight: 400;
}
.shop-item-text .shop-item-text-label:nth-child(n+2) {
	margin-top: 10px;
}
@media only screen and (max-width: 768px) {
	.shop-item-text-label {
		font-size: 14px;
	}
}
.shop-map iframe {
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .shop-map iframe {
    max-height: 300px;
  }
}

.shop-bottom {
  max-width: 1240px;
  margin: 150px auto 0;
  padding: 0 20px 100px;;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .shop-bottom {
    margin: 100px auto 0;
    padding: 0 0 50px;;
  }
}
.shop-bottom-img {
  margin-bottom: 50px;
}
.shop-bottom-img img {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .shop-bottom-img {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}
.shop-bottom-text {
  font-size: 18px;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 0 !importatn;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .shop-bottom-text {
    font-size: 15px;
  }
}
.tabelog-link {
 display: inline-flex;
 align-items: center;
 padding: 8px 16px;
 background-color: #ff9600;
 color: white !important;
 text-decoration: none !important;
 border-radius: 4px;
 transition: background-color 0.3s ease;
 margin-top: 5px;
}

.tabelog-link:hover {
 background-color: #ff8500;
 text-decoration: none;
}

.tabelog-icon {
 display: inline-flex;
 margin-right: 8px;
}

.shop-item-title-tabelog::before {
 content: "";
 display: inline-block;
 width: 26px;
 height: 26px;
 background-image: url('/cdn/shop/files/icon-menu.svg?v=1737507270');
 background-size: contain;
 background-repeat: no-repeat;
 vertical-align: middle;
 margin-right: 8px;
 top: 5px;
}
.shop-item-title-stay::before {
 content: "";
 display: inline-block;
 width: 26px;
 height: 26px;
 background-image: url('/cdn/shop/files/icon-stay.svg?v=1779603457');
 background-size: contain;
 background-repeat: no-repeat;
 vertical-align: middle;
 margin-right: 8px;
 top: 5px;
}

.shop-main {
  margin-top: 100px;
}
.shop-main h2 {
  font-size: calc(var(--typeHeaderSize) * .85);
  font-weight: var(--typeHeaderWeight);
  line-height: var(--typeHeaderLineHeight);
  text-align: center;
  letter-spacing: .1em;
  position: relative;
  display: block;
  margin-bottom: 2em;
  z-index: 2;
}
.shop-main h2:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #516c4f;
  border-radius: 2px;
}
.shop-btn-inner {
  display: flex;
  justify-content: center;
  column-gap: 30px;
  margin: 30px 0 50px;
}
.shop-btn-inner a.btn {
  min-width: 280px;
}

.map-link {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background-color: #4285F4;
  color: white !important;
  text-decoration: none !important;
  border-radius: 4px;
  transition: background-color 0.3s ease;
  margin-top: 5px;
}
.shop-bottom .btn {
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  .shop-main h2 {
    font-size: 24px;
  }
  .shop-btn-inner {
    flex-direction: column;
    row-gap: 20px;
  }
  .shop-btn-inner a.btn {
    max-width: 80%;
    margin: 0 auto !important;
  }
}

/*
 	7.3 404
====================================*/

.search-content .grid-product__image-wrap img {
  aspect-ratio: 1;
  object-fit: cover;
}



/*====================================

	8. Blog

====================================*/
#section-blog-template .blog-layout {
  flex-direction: column;
}
#section-blog-template .blog-layout .section-header__image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--roundness);
}
#section-blog-template .blog-layout .section-header__title {
  text-align: left;
  margin-top: 20px;
}
#section-blog-template .blog-layout .section-header__title span {
  position: relative;
  display: inline-block;
  z-index: 2;
  margin-bottom: 1em;	
}
#section-blog-template .blog-layout .section-header__title span:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #516c4f;
  border-radius: 2px;
}
#section-blog-template .grid-article__meta {
  text-align: left;
  margin-top: 15px;
}
#section-blog-template .article__content {
  line-height: 1.6;
  margin-top: 10px;
}
@media only screen and (max-width: 768px) {
  #section-blog-template .grid-article[data-style=medium] {
    flex-direction: column;
    margin-bottom: 40px;
  }
  #section-blog-template .grid-article[data-style=medium] > div {
    width: 100%;
  }
  #section-blog-template .article__title {
    font-size: 16px;
  }
  #section-blog-template .grid-article[data-style=medium] .grid-article__meta {
    padding-left: 0;
  }
  #section-blog-template .article__content {
    margin-top: 15px;
  }
}

/* maker */
.template-blog-maker .blog-layout {
  padding: 0;
}


/*====================================

	9. Article

====================================*/
.blog-layout__main .section-header__title {
  text-align: left;
}
.blog-layout__main .section-header img {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.article-container {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
/*  ブログ 商品掲載
------------------------------------------ */
.card-body-wrap {
  display: flex;
  column-gap: 5%;
}
.card-body-wrap > div {
  width: 50%;
}
.card-body{
  display: flex;
  flex-direction: column;
  padding: 20px;
  position: relative;
  border: 1px solid #444;
  margin: 0;
  max-width: 500px;
}
.card-body a::before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.card-top {
    display: flex;
}
.card-body__image{
  width: 40%;
  margin: 0;
}
.card-body__image img{
  margin-bottom: 0;
}
.card-body__content{
  width: 60%;
  margin: 0;
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-body__content .title{
  font-size: 1.5em;
  margin-top: 0;
}
.card-body__content .title a{
  text-decoration: none;
}
.card-body__content .price{
  font-size: 1.25em;
  text-align: right;
}
.card-body__content .buy-button{
  background: #222;
  padding: 10px 0;
  text-align: center;
  color: #fff;
}
.card-bottom {
    border-top: 1px solid #222;
    padding-top: 15px;
    margin-top: 30px;  
}
.card-bottom p {
    font-size: 14px;
    margin-bottom: 5px;
}
@media screen and (max-width: 768px){
  .card-body-wrap {
    flex-direction: column;
    row-gap: 30px;
  }
  .card-body-wrap > div {
    width: 100%;
  }
  .card-body{
    padding: 10px;
  }
  .card-body__content{
    padding-left: 20px;
  }
  .card-body__content .title{
    font-size: 1.25em;
  }
}
/*  iframe埋め込み
------------------------------------------ */
.blog-layout__main iframe {
  max-width: 500px;
}



/*====================================

	10. Cart

====================================*/
.cart__item {
  border-bottom-color: #f7f7f7;
}
.cart__terms .text-label {
  font-weight: bold;
  color: #BA4444;
}
.cart__item-row.cart__terms__note {
  margin-top: -15px;
  margin-bottom: 20px;
}
.cart__page-col__note {
  font-size: 13px;
  color: #ba4444;
  font-weight: bold;
}



/*====================================

	11. Account

====================================*/

/*
 	11.1 Login
====================================*/
#template-login .section-header__title {
  text-align: center;
}
#CustomerPassword {
  margin-bottom: 5px;
}
.btn-login {
  margin-top: 30px;
}
.btn-register {
  text-align: center;
}
.btn-recover_password {
  text-align: center;
}
#HideRecoverPasswordLink {
  display: block;
  text-align: center;
  width: 100%;
}
.btn-register a:hover {
  opacity: .8;
}
.btn-register-note {
  display: block;
  font-size: 12px;
}

/*
 	11.2 Register
====================================*/
.register-checkbox {
  margin-bottom: 30px;
}  
.register-checkbox label {
  display: inline-block;
  font-weight: 400 !important;
  font-size: 14px !important;
  margin-bottom: 0;
} 
.register-checkbox input {
  margin-bottom: 0;
}  
.register-checkbox a {
  text-decoration: underline;
  text-underline-offset: 3px;
}  
.register-checkbox a:hover {
  opacity: .8;
}  
.accepts-marketing_note {
  font-size: 12px;
  letter-spacing: 0;
}

/*
 	11.3 Account
====================================*/
.customer_account_detail .btn {
  font-size: 14px;
}
.account-form-delete {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .account-form-delete {
    text-align: left;
  }
}
.account-form-delete a {
  font-size: 14px;
  border-bottom: 1px solid;
}
.button_subscription .btn {
  font-size: 16px;
  margin: 20px 0;
}  
@media only screen and (max-width: 768px) {
  #template-account .grid__item h2,
  #template-account .grid__item h3 {
    font-size: calc(var(--typeHeaderSize)* .57);
    background: #f5f5f5;
    padding: 5px;
  }
  .customer_account_detail {
    margin-top: 20px;
  }
}

/*
 	11.4 Address
====================================*/
#AddressCountryNewContainer,
#AddressCountryEditContainer {
  display: none;
}
.btn-return-account {
  max-width: 300px;
  margin: 0 auto 80px;
}
@media only screen and (max-width: 768px) {
  .btn-return-account {
    margin-bottom: 50px;
  }
}

/*====================================

	12. Policy

====================================*/

/*
 	12.1 General Policy
====================================*/
.shopify-policy__container {
  max-width: 1000px;
  padding: 75px 100px;
  margin: 0 auto;
}
.shopify-policy__title {
  margin-bottom: 75px;
}
.shopify-policy__title h1 {
  font-size: 24px;
  font-weight: bold;
}
.shopify-policy__container h2 {
  font-size: var(--typeBaseSize);
  margin-top: 25px;
}
.shopify-policy__container h3 {
  font-size: var(--typeBaseSize);
  margin-top: 16px;
  margin-bottom: 8px;
}
.shopify-policy__body p {
  margin-bottom: 8px;
}
.shopify-policy__container ol li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
  margin-bottom: 8px;
}
.shopify-policy__container ol li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em;
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}
@media only screen and (max-width: 768px) {
  .shopify-policy__container {
    padding: 40px 17px;
  }
  .shopify-policy__container ol {
    margin-left: 0;
  }
}
/*
 	12.2 Legal Notice
====================================*/
#legal-notice th {
  width: 25%;
}
#legal-notice td {
  width: 75%;
}
@media only screen and (max-width: 768px) {
  #legal-notice th,
  #legal-notice td {
    display: block;
    width: 100%;
  }
  #legal-notice th {
    text-align: left;
    background: #f3f3f3;
  }
}



/*====================================

	13. App

====================================*/
/*
 	13.1 Related Blog Posts Pro
====================================*/
#relatedblogs h2 {
  margin-bottom: 64px;
}
#relatedblogs h2 span {
  position: relative;
  display: inline-block;
  z-index: 2;
  margin-bottom: 1em;	
}
#relatedblogs h2 span:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #516c4f;
  border-radius: 2px;
}
#relatedblogs li {
  align-content: start;
}
#relatedblogs .rb_image_wrap {
  height: 100% !important;
}
#relatedblogs img.rb_image {
  aspect-ratio: 4 / 3;
  height: auto !important;
  border-radius: 10px;
}
/*#relatedblogs .rb_title {
  min-height: 110px;
}*/
#relatedblogs .rb_contents {
  margin-left: 0;
  text-align: left;
}
#relatedblogs .rb_link {
  transition: 0.5s ;
}
#relatedblogs .rb_link:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 768px) {
  #relatedblogs ul {
    margin-left: 0;
    row-gap: 50px;
  }
}

/*
 	13.2 Judge.me
====================================*/
.jdgm-write-rev-link.jdgm-write-rev-link {
  margin-top: 15px;
  margin-bottom: 15px;
}
.jdgm-rev-widg__header .jdgm-rev-widg__sort-wrapper {
  margin-top: 30px;
}
.jdgm-form__reviewer-name-format-container {
  display: none;
}
.jdgm-rev__author {
  display: none;
}
.jdgm-rev__buyer-badge-wrapper {
  visibility: hidden;
}

/* product grid */
.grid-item__meta .jdgm-prev-badge__text {
  display: none;
}


/*
 	13.3 Search & Discovery
====================================*/
.collapsible-content[data-collapsible-id="filter-種類"] .tag-list .tag:last-of-type {
  display: none;
}



/* 241119テスト：コレクションページ */
@media only screen and (max-width: 768px) {
  .collection-hero__inner {
    row-gap: 10px;
  }
  .collection-hero__description {
    line-height: 1.6;
  }
  .collection_item_number {
    font-size: 12px;
  }
  .grid__item--content .scrollable-grid--small {
    padding: 0;
  }
  .collection-filter__btn {
    padding: 0;
  }
}
}
