/** Shopify CDN: Minification failed

Line 565:2 "jusify-content" is not a known CSS property
Line 652:16 Expected identifier but found whitespace
Line 652:17 Unexpected "1.2"

**/
        /* =========================================
           0. Font Definition (@font-face)
           ========================================= */
           @font-face {
            font-family: "ls-350";
            src: url("https://cdn.shopify.com/s/files/1/0665/6140/9139/files/TWKLausanne-350.woff") format("woff");
            font-weight: 700;
            font-style: normal;
    unicode-range: U+0000-007F, U+2000-21FF, U+2197, U+0100-017F;
        }
        
        @font-face {
            font-family: "ls-450";
            src: url("https://cdn.shopify.com/s/files/1/0665/6140/9139/files/TWKLausanne-450.woff") format("woff");
            font-weight: 700;
            font-style: normal;
    unicode-range: U+0000-007F, U+2000-21FF, U+2197, U+0100-017F;
        }
        @font-face {
            font-family: "ls-200";
            src: url("https://cdn.shopify.com/s/files/1/0665/6140/9139/files/TWKLausanne-200.woff") format("woff");
            font-weight: 200;
            font-style: normal;
    unicode-range: U+0000-007F, U+2000-21FF, U+2197, U+0100-017F;
        }
        :root {
            --content-margin: 24px;
            --grid-columns: 5;
            --header-height: 72px;
            --bar-height: 28px;
            
            --dot-size: 6px; 
            --color-dot: #000;

                    --font-base: "ls-450", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
                    --font-head: "ls-350", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
                    --font-marquee: "ls-200", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
            --font-weight-base: 500;
            
            --color-text: #111;
            --color-bg: #f5f5f5;

            --grid-cell: calc((100vw - (var(--content-margin) * 2)) / var(--grid-columns));
        }

         html {
                    font-family: var(--font-base);
                    background-color: var(--color-bg);
                    color: var(--color-text);
                    -webkit-font-smoothing: antialiased;
                    -moz-osx-font-smoothing: grayscale;
                }

        h1,.h1{
            font-family: var(--font-head) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        h2,.h2{
            font-family: var(--font-head) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        h3,.h3{
            font-family: var(--font-base) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        h4,.h4{
            font-family: var(--font-base) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        h5,.h5{
            font-family: var(--font-base) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        h6,.h6{
            font-family: var(--font-base) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        div{
            font-family: var(--font-base) !important;
            letter-spacing: -0.03rem !important;
            font-weight: 600 !important;
            font-feature-settings: "palt" !important;
        }
        /* Background Dots System */
        .dots-layer {
            position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 42px); z-index: 0; pointer-events: none; margin-top: 42px; 
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='6' height='6' fill='%23000000'/%3E%3C/svg%3E");
            background-size: var(--grid-cell) var(--grid-cell);
            background-position: var(--content-margin) 0; 
            opacity: 1.0;
        }

.heading, .h1, .h2, .h3, .h4, .h5, .h6, .prose :where(h1,h2,h3,h4,h5,h6) {
    letter-spacing: -0.03rem;
}
button.button {
    border-radius: 100px;
}
section {
    margin: 0px 0px 80px 0px; 
}
.shopify-section--cart-drawer {
    margin-bottom: 0;
}
/* 1. 各ボタンが改行されないようにする設定 */
.collection-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;
  padding: 10px 24px;
  border: 1px solid #000;
  border-radius: 100px;      
  text-decoration: none;
  line-height: 1;
}
.shopify-section:not(:first-child) .bordered-section{
  border-block-start-width: 0px;
}

/* 2. 親要素で横並びを強制する設定 */
.collection-list-text, 
.product-list--carousel,
.blog-post-list--carousel {
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap; 
  gap: 0;
  overflow-x: auto;           /* はみ出た分は横スクロールさせる */
  -webkit-overflow-scrolling: touch; /* スマホで滑らかにスクロール */
  padding-bottom: 10px;       /* スクロールバーと被らないための余白 */
  justify-content: flex-start;
}
.collection-list-text {
    padding: 10px 20px;
    font-size: 30px;
}

:has(.shopify-section:first-child [allow-transparent-header]):not(:has(.shopify-section--header~.shopify-section-group-header-group)) .header:not(:hover,.is-solid,:has(.header__primary-nav [open],.header__secondary-nav [open],.header-search[open])) {
    --header-show-transparent-logo: 1;
    --header-separation-border-color: 0 0 0 / 0;
    --background: 0 0 0 / 0;
    --background-gradient: 0 0 0 / 0;
    --border-color: 0 0 0 / 0;
    filter: invert(1)
}

/* スクロールバーを非表示にしたい場合（お好みで） */
.collection-list-text::-webkit-scrollbar,
.scroll-area::-webkit-scrollbar {
  display: none;
}

/*variation-picker*/
.variant-selector {
  max-width: 600px;
  margin: 0 auto;
}

.size-variants {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.variant-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
}


.variant-info {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
}

.size-label {
  font-size: 12px;
  font-weight: 500;
  color: #333;
  min-width: 80px;
}

.variant-price {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
}

.regular-price {
  color: #333;
  font-weight: 500;
}

.original-price {
  color: #999;
  text-decoration: line-through;
  font-size: 13px;
}

.sale-price {
  color: #e74c3c;
  font-weight: 600;
}

.stock-warning {
  font-size: 12px;
  color: #ff6b35;
  background: #fff5f2;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 500;
  white-space: nowrap;
}

.variant-button {
  display: flex;
  align-items: center;
}

.btn-add-cart {
  background: #333;
  color: #fff;
  border: none;
  padding: 8px 12px;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.5px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-sold-out {
  background: #f5f5f5;
  color: #999;
  border: 1px solid #e5e5e5;
  padding: 8px 12px;
  font-size: 10px;
  font-weight: 400;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.btn-sold-out:hover {
  background: #fff;
  border-color: #999;
  color: #666;
}
.product-list--carousel{
  gap:20px;
}

.product-card__info{
  display:flex;
  text-align:left;
  justify-content: start;
}

.justify-self-center{
  justify-self:left;
}

.text-center{
  text-align:left;
}

h1, h2, h3 ,h4 ,h5, h6{
  font-weight:normal;
}

a.button {
    color: #000;
    background: transparent;
    border: none;
    border-bottom: 1px solid #000;
    position: absolute;
    right: 0;
}

.section-spacing.connect {
    padding-top: 0;
}

.section-spacing.connect .h2 {
    display:none;
}

.text-logo img{
  margin: 0 auto;
  width:100%;
  padding:clamp(12px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480))), 24px);
}

.store-textlogo {
    color:white;
    position: absolute;
    font-size: 65px;
    position: absolute;
    top: 45vh;
    left: 50%;
    transform: translate(-50%, -50%);
}

.blog-post-card{
  width:28%;
  min-width:28%;
  max-width:400px;
  gap:10px;
}

.blog-post-list--carousel.scroll-area {
    gap: 20px;
}

img.blog-post-card__image {
    aspect-ratio: 1.25;
    object-fit: cover; /* これを追加 */
    object-position: center; /* 必要に応じて切り抜き位置を調整（任意） */
}
.text-subdued{
  color: #000;
}

a.blog-post-card__category.h6.link-faded,a.vendor.smallcaps.heading {
    padding: 5px 10px;
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 16px;
    line-height: 1;
}
a.blog-post-card__title.h4 {
    font-size: 18px;
    line-height: 1.2;
}

.blog-post-card__info{
  row-gap:4px;
}

.blog-post-card span.h6.text-subdued {
    font-size: 18px;
    line-height: 1.2;
}

.scroll-area .product-card {
    width: 300px;
    min-width: 300px;
}

.product-card .v-stack {
    align-content: start !important;
    display: flex;
    width: 100%;
    justify-items: start;
    flex-direction: column;
}
.product-card__ranking-number {
    padding: 5px 10px;
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 16px;
    line-height: 1.2;
    width: fit-content;
}
.product-card .badge {
    padding: 5px 10px;
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 12px;
    line-height: 1.2;
    width: fit-content;
    background: transparent;
    color:black;
}
.badge-list--vertical {
    flex-direction: column;
    margin: 0 auto;
    margin-top: 10px;
}

.shopify-section--ranking .product-card .v-stack {
    align-items: flex-start;
}

.product-meta {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.section-header .h2{
  font-size:75px;
  letter-spacing:-0.03rem;
  line-height:1;
  white-space: nowrap;
}
.section-header .h6 {
    font-size: 25px;
    line-height: 1;
    margin-block-start: 1rem;
    
}

.shopify-section--ranking .v-stack {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.shopify-section--ranking button.h2 {
    border: 1px solid;
    font-size: 25px;
    padding: 10px 20px;
    line-height: 1;
    padding-block-end: 10px;
    border-radius: 100px;
}

.shopify-section--ranking button.h2[aria-current=true] {
    color:white;
    background-color:black;
}


.shopify-section--featured-collections button.h2 {
    border: 1px solid;
    font-size: 25px;
    padding: 10px 20px;
    line-height: 1;
    padding-block-end: 10px;
    border-radius: 100px;
    width:fit-content;
}


/* 画像/リンクがドラッグ対象にならないようにする */
.blog-post-list.scroll-area a,
.blog-post-list.scroll-area img{
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}

.shopify-section--featured-collections button.h2[aria-current=true] {
    color:white;
    background-color:black;
}
.featured-collections-carousel{
  margin:0 auto;
}

.content.place-self-center-start{
  width:50%;
}
.content.place-self-center-start .prose{
  text-align:center;
}

.content.place-self-center-start .prose .button {
    background: transparent;
    color: white;
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 25px;
    line-height: 1;
}

.content.place-self-center-start .prose p.h4 {
    font-size: 30px;
}
.content.place-self-center-start .prose p {
    font-size: 18px;
}

.shopify-section--featured-collections .section-stack {
    display: flex;
    flex-direction: row;
}

.shopify-section--featured-collections carousel-navigation{
  display:flex;
  flex-direction: column;
  margin-top:50px;
}

.category-list .container {
    display: flex;
    justify-content: space-between;
}


.category-list .collection-grid {
        width: clamp(
        300px,
        min(calc(100vw - 600px), 60vw),
        800px
    );
}

.sub-collection-header{
  margin: 0.5rem 0;
  align-items: center;
}


.sub-collection-header h3.h4 {
    font-size: 30px;
    
}

a.sub-collection-more {
    padding: 10px 15px;
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 20px;
    line-height: 1;
}

    .product-list {
        --product-list-default-row-gap: 2rem;
        --product-list-default-column-gap: 2rem;
    }

a.product-title.h6 {
    font-size: 18px;
    letter-spacing: -0.03rem;
}

.container.guide{
  display:flex;
  jusify-content:space-between;
}

.news-list-group {
        width: clamp(
        300px,
        calc(100vw - 600px),
        60vw
    );
}

.container.guide {
    display: flex;
    justify-content: space-between;
}
label.block-swatch{
  font-size:20px;
}
.variant-picker__option-info {
    font-size: 16px;
}
variant-picker .product-info__block-item p {
    font-size: 16px;
}
variant-picker.variant-picker.v-stack.gap-4 {
    margin-top: 30px;
}

.guide-body {
    width: clamp(300px, calc(100vw - 600px), 60vw);
}
p.taxincl {
    font-size: 14px;
}
.card-price-wrapper {
    font-size: 20px;
    color: #000;
}
.product-offers.border {
    font-size: 14px;
}
.product-card .card-price-wrapper{
  font-size:15px;
}
.pagination {
    grid-auto-columns: initial;
    border-block-end-width:0px ;
}
.pagination__link {
    border: 1px solid #000;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    font-size: 25px;
    letter-spacing: initial;

    /* ここから追加 */
    display: flex;           /* 中身を自由に配置できるようにする */
    justify-content: center; /* 左右中央 */
    align-items: center;     /* 上下中央 */
    line-height: 1;          /* フォント由来の上下余白をリセット */
    text-decoration: none;   /* リンクの下線を消す（必要あれば） */
}

.pagination__link[aria-current=page] {
    box-shadow: none;
    background-color: black;
    color: white;
}

label.block-swatch {
    border-radius: 100px;
    color: #000;
    line-height: 1;
}
.variant-picker__option-values.h-stack.gap-2\.5.wrap {
    gap: 0;
}

quantity-selector.quantity-selector {
    border-radius: 100px;
    border: 1px solid #000;
    line-height: 1;
    max-height:50px;
    width:150px;
}
.h1
    line-height: 1.2;
    

@media screen and (min-width: 769px) {
    .quantity-selector {
        --quantity-selector-height: 2rem;
    }
}
button.button.w-full {
    border-radius: 100px;
    line-height: 1;
    height: 50px;
    padding: 10px 30px;
    font-size: 20px;
}
    .quantity-selector {
        --quantity-selector-height: 32px;
    }


    .block-swatch.is-disabled:before{
      background: linear-gradient(
  to bottom,
  transparent calc(50% - .5px),
  var(--swatch-disabled-strike-color) calc(50% - .5px) calc(50% + .5px),
  transparent calc(50% + .5px)
);
    }

    .buy-buttons {
    row-gap: 0rem;
    display: grid;
}

.link-faded {
    color: rgb(var(--text-color));
    transition: initial;
}
.block-swatch.is-disabled {
    color: rgb(var(--text-color));
}

.shopify-section--main-customers-account h1.h3{
  font-size:75px;
}
.product-gallery__image-list{
  max-width:1000px;
  margin:0 auto;

}
@media (min-width: 769px) {
/* カルーセル全体をグリッド化 */
.product-gallery__image-list .product-gallery__carousel {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr); /* 横2列に分割 */
    gap: 10px; /* 画像同士の隙間（任意） */
}

/* 1番目のアイテムだけを2列分ぶち抜く */
.product-gallery__image-list .product-gallery__carousel > .product-gallery__media:first-child {
    grid-column: 1 / 3; /* 1列目から3列目の手前まで（＝2列分） */
    width: 100%;       /* 幅を100%に */
}

/* 2枚目以降の幅を調整（必要に応じて） */
.product-gallery__image-list .product-gallery__carousel > .product-gallery__media:not(:first-child) {
    width: 100%;
}
}

h1.product-title.h5 {
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -0.03rem;
    font-weight: 600;
}

x-header.header.color-scheme.color-scheme--scheme-1 {
    color: black;
}

product-sticky-bar{
  display:none;
}

.jdgm-rev-widg__summary-text.jdgm-all-reviews__summary-text--verified {
    display: none;
}
.product-offers.border {
    border: none;
}
.product-offers__item{
  padding:0;
  border: none;
}
.order-summary__body sale-price.h6.text-subdued {
    font-size: 16px;
}

.order-summary__body a.vendor.smallcaps.heading {
    display: none;
}
.shopify-section--main-product a.vendor.h6.link-faded{
  line-height:1;
  font-size:16px;
}
p.h3 {
    line-height: 1.2;
}

scroll-carousel a.vendor.smallcaps.heading {
    padding: 5px 10px;
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 16px;
    line-height: 1;
    height:30px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space:nowrap;
}

@media (min-width: 769px) {
.ez-login-section.section-spacing {
    background-image: url(https://cdn.shopify.com/s/files/1/0665/6140/9139/files/logo_member.png?v=1770343405);
    background-repeat: no-repeat;
    background-size: 50vw auto;
    background-position-y: center;
    display: flex;
    justify-content: flex-end;
    }
}
.product-card__ranking-number {
    border: 1px solid #000;
    border-radius: 100px;
    font-size: 16px;
    width: fit-content;
    height: 30px;
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.announcement-bar.color-scheme.color-scheme--scheme-2 {
    font-size: 12px;
    font-weight:200;
    font-family:var(--font-marquee);
}
button.header-sidebar__back-button.link-faded.is-divided.text-with-icon.h6 {
    font-size: 12px;
}

@media (max-width: 999px) {
  .pcHidden{
    display:none;
  }
  .guide-form button {
    padding: 13px !important;
}
  .dots-layer {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Crect width='2' height='2' fill='%23000000'/%3E%3C/svg%3E");
  }
  .header {
    align-items: center !important;
}
.header__secondary-nav {
    flex-direction: column-reverse;
}
.blog-post-list--carousel.scroll-area{
  gap:10px;
}
.header__secondary-nav span.h6.link-faded {
    font-size: 14px !important;
}

  .collection-text{
    font-size:20px;
  }

  .section-header .h2{
    font-size:35px;
  }
  .section-header .h6{
    font-size:18px;
  }
  .blog-post-card{
    width:240px;
    min-width:240px;
  }
  a.blog-post-card__title.h4,.blog-post-card span.h6.text-subdued{
    font-size:15px;
  }
  a.blog-post-card__category.h6.link-faded, a.vendor.smallcaps.heading{
    font-size:10px;
  }
  .scroll-area .product-card {
    width:200px;
    min-width:200px;
  }
    scroll-carousel .product-title.h6 {
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -.03rem;
}
  scroll-carousel .product-card .card-price-wrapper {
    font-size: 14px;
}
.shopify-section--ranking .v-stack {
    display: flex;
    align-items: flex-start;
    /* justify-content: space-between; */
    width: 100%;
    flex-direction: column;
    align-content: flex-start;
}
.shopify-section--ranking button.h2 {
  font-size:20px;
}
.featured-collections-navigation{
  column-gap:0;
}
.content.place-self-center-start {
  width:100%;
}
.content.place-self-center-start .prose {
    text-align: left;
    letter-spacing:-0.03rem;
    line-height: 1.2 !important;
}
.shopify-section--featured-collections .section-stack {
    display: flex;
    flex-direction: column;
}
.shopify-section--featured-collections carousel-navigation{
  margin-top: 20px;
}
.sub-collection-header {
  flex-direction: column;
}
.sub-collection-header h3.h4{
  font-size:20px;
}
a.sub-collection-more{
  font-size:15px;
  margin-top:20px;
}
.product-list {
    --product-list-default-row-gap: 40px;
    --product-list-default-column-gap: 10px
}
/* PDP: variant価格一覧 + 選択中ハイライト (旧 price-list の card-price-wrapper デザインに統合) */
.product-info__variant-prices {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  row-gap: 0;
  font-size: 1.1em;
  color: #000;
  line-height: 1.5;
}
.product-info__variant-item {
  font-weight: 500;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.product-info__variant-item[data-selected="true"] {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.product-info__variant-sep {
  color: #999;
  margin: 0 2px;
}

/* rating-badge: PDP は横並び、PLP (product-card 内) は縦並び */
.rating-badge {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.rating-badge__stars{
  display: inline-flex;
  flex-wrap: nowrap;
  column-gap: 0;
}
.rating-badge__stars svg{
  height:12px;
}
.rating-badge__cta {
  flex-shrink: 0;
}
.sub-collection-container {
    margin-bottom: 0;
}
.category-list .container {
    flex-direction: column;
}
.category-list .titles-wrapper {
    flex-direction: column;
    align-items: flex-start !important;
}
.category-list .title-jp {
  padding-left:0 !important;
  border-left:none !important;
  margin-left:0 !important;
}
.category-list .collection-grid {
  width:100% !important;
}
.news-layout-flex {
  gap:10px !important;
}
.news-header-group {
    display: flex !important;
    justify-content: space-between!important;
}
.news-list-item {
    display: flex!important;
    flex-direction: row!important;
}
.news-item-date {
    font-size: 20px !important;
    min-width: 60px !important;
    padding-top:2px;
}
.news-item-title{
  font-size:16px !important;
  margin-bottom:10px;
}
.guide-newsletter-text {
 font-size:18px !important;
 padding-top:50px;
}
.category-list .collection-number{
  font-size:20px !important;
}
.category-list .item-content {
    display: flex;
    align-items: flex-start;
    padding: 20px 0;
}
    .category-list .title-en {
        min-width: 120px;
        font-size: 20px !important;
    }
        .category-list .title-jp {
        padding-left: 0 !important;
        border-left: none !important;
        margin-left: 0 !important;
        font-size: 16px !important;
    }
.news-item-tag{
  font-size:16px !important;
}
.container.guide {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.guide-body{
  width: 100%;
}
.shopify-section--ranking carousel-navigation.featured-collections-navigation.scroll-area.bleed {
    width: 100vw;
}
.guide-form input {
  font-size:18px;
}
/* 中のボタンが縮まないように固定する */
.featured-collections-navigation button {
  flex-shrink: 0;
}

.shopify-section--featured-collections .featured-collections-navigation{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.shopify-section--featured-collections button.h2{
  font-size:20px;
}
.product-info__block-item[data-block-type=rating] {
        float: right;
        padding-top: 8px;
    }

    h1.product-title.h5 {
      font-size:25px;
    }
  .product-offers__item{ font-size:12px;}
}



@media (max-width: 999px) {
.header {
    padding: 1rem !important;
}
    .header__sp-nav {
        display: flex !important;
        grid-area: secondary-nav !important;
        flex-direction: row-reverse;
    }
    .header__secondary-nav {
    grid-area: secondary-nav !important;;
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    align-items: center;
    align-items: center;
    height: 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size:14px;
}
.header__logo {
    grid-area: primary-nav !important;;
    display: flex;
    align-items: flex-start;
    /* float: left; */
}
section {
    margin: 0px 0px 30px 0px; 
}
.product-card__ranking-number {
    padding: 0px 5px;
}
.drawer::part(content) {
max-width:initial;
}
    .header-sidebar__collapsible-panel {
        max-width: 100vw;
        width: 100%;
    }
}

.header-sidebar__linklist-button{
  font-size:16px;
}

.header-sidebar__collapsible-panel{
  z-index:2;
}

x-header.header.color-scheme.color-scheme--scheme-1 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.header__primary-nav {
  gap: 0;
  display: flex;
  justify-content: flex-end;
  width:fit-content;
}

.header__secondary-nav span.h6.link-faded {
    font-size: 20px;
}
.header-sidebar::part(close-button) {
    opacity: 1;
    z-index: 5;
    height:30px;
}

.shopify-payment-button {
    /* position: absolute; */
    top: 70px;
    /* width: 300px; */
    left: -150px;
    margin-top: 15px;
}
a#more-payment-options-link {
    margin-top: 12px;
    font-size: 14px !important;
}

@media screen and (max-width: 999px) {
.header-sidebar::part(header) {
    padding: calc(var(--announcement-bar-height) + var(--header-padding-block)) 1rem !important;
}
}


/*product page*/
@media screen and (min-width: 1000px) {
    .product {
        --product-gap: 7rem !important;
        grid-template-columns: 6fr 4fr !important;;
    }
  }

  .block-swatch {
      padding:14px 20px;
  }

  .product-info__block-item{
  margin-block-start:0 !important;
  margin-block-end:15px !important;
  grid-column: 1 /-1;
}
/* :not(:has(.dummy-vendor)) を追加 */
.product-info__block-item[data-block-type="vendor"]:not(:has(.dummy-vendor)) {
    display: inline-block !important;
    width: fit-content !important;
    border: 1px solid #000 !important;
    border-radius: 100px !important;
    padding: 5px 10px !important;
    font-size: 16px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    margin-bottom: 10px;
    grid-area: 1 / 1;
}
.product-info__block-item[data-block-type="rating"] {
    width: fit-content;
    display: inline-block;
    vertical-align: middle;
    margin-left:auto;
    grid-area: 1 / 2;
}
.product-info__block-item[data-block-type="title"] {
  grid-area: 2 / 1 / 2 / 3;
}
.product-info__block-item[data-block-type="price"] {
grid-area: 3 / 1 / 3 / 3;
}




.product-info__block-item[data-block-type="description"] {
    width: fit-content;
    display: inline-block;
    vertical-align: bottom;
    font-size:16px;
    padding-top:40px;
    padding-bottom:60px;
    margin-block-start:100px !important;
}
/* 公開前チェックシート #15: variant-picker / ATC を縦積みに変更 (旧 position:absolute 構成を廃止)
   セレクタはセマンティック要素 (buy-buttons, product-form, variant-picker) ベースで簡潔に */
buy-buttons {
    width: 100%;
    display: block;
}
buy-buttons .button,
buy-buttons button[type="submit"] {
    width: 100%;
    min-width: 0;
}
product-form {
    width: 100%;
    display: block;
}

/* 旧 position:absolute 上書き */
.product-info__block-item[data-block-type="buy-buttons"],
.product-info__block-item[data-block-type="buy-buttons"] product-form {
    position: static;
    width: 100%;
    display: block;
    inline-size: 100%;
}

/* quantity 周りの余白整理 */
.product-info__block-item[data-block-type="quantity-selector"] {
    margin-block-end: 12px;
}
.v-stack.gap-1.justify-items-start {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    position: static;
}

/* variant-picker 全体を縦積み (SP「サイズ:」左寄り対応) */
.variant-picker__option {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.variant-picker__option-info {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.variant-picker__option-values {
    width: 100%;
}

.line-item .price-list {
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: .5rem;
    display: flex;
    min-width: 66px;
    justify-content: flex-end;
}



@media (max-width: 999px) {
.constrained-image {
    width: 100vw;
    max-width: 100%;
}
.shopify-section--main-customers-account h1.h3 {
    font-size: 35px;
}
.customer-account-box{
  width:100%;
  max-width:100%;
  min-width:100%;
}
.ez-toggle-container {
  justify-content: center !important;
}
.ez-custom-form {
    width: 100% !important;
    max-width: 380px !important;
    margin: 0 auto !important;
}
.content-over-media.content-over-media--auto {
    max-height: 90vh;
}
    .orderHistory a.button {
        position: relative;
        border: 1px solid #000;
        border-radius: 100px;
        padding:5px;
    }
}

strong {
    font-weight: 600;
}

.announcement-bar.color-scheme.color-scheme--scheme-2 div {
    font-size: 12px;
    font-weight: 200 !important;
    font-family: var(--font-marquee) !important;
}

  @media screen and (min-width: 769px) {
    .container{
    padding-left:6px;
    }  
  }

  .product-info__block-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

#BIS_trigger.button.btn{
  display:none;
}
#BIS_trigger {
    border-radius: 100px;
    line-height: 1;
    height: 50px;
    padding: 10px 10px;
    font-size: 16px;
    background: black;
    color: white;
    width: 150px;
}



shopify-section--rich-text img.constrained-image {
    width: 100%;
}
shopify-section--rich-text .prose :where(:not(meta,span)+*) {
    margin-block-start: 1rem;
}

.shopify-section--main-blog .blog-post-card.group.snap-center {
    width: 100%;
}

button.button {
    font-weight: 600;
}


.orderHistory .v-stack.gap-4 {
    grid-template-columns: 1fr 1fr;
}

[data-theme-name=Prestige] .cf-field input:not([type=checkbox]):not([type=radio]), [data-theme-name=Prestige] .cf-field select {
    padding: 12px 14px !important;
    border-radius: 0 !important;;
    border: 1px solid #000 !important;;
    width: 100% !important;;
    line-height: normal !important;;
    resize: none !important;;
    transition: border-color .1s ease-in-out !important;;
    background: #F5F5F5 !important;;
    border-radius: 100px !important;;
    margin-top: 12px !important;;
}

.cf-button.btn.button {
    border-radius: 100px;
    font-weight: 600;
}
button.cf-cancel.cf-button.btn.button {
    display: none;
}

.shopify-section--main-customers-register .customer-account-box{
  max-width:initial;
  min-width:initial;
}

.shopify-section--main-cart a.button {
    color: #000;
    background: transparent;
    border: none;
    border-bottom: 1px solid #000;
    position: absolute;
    right: 0;
    border-radius: 100px;
    border: 1px solid #000;
}

x-header.header {
    padding: clamp(12px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480))), 24px);
}

.text-logo {
    width: 100%;
    position:absolute;
    bottom: calc(20vh + 6px);
}

.header__logo {
    margin-left: 6px;
    margin-top: 1.5px;
}

@media (max-width: 999px) {
  
  .shopify-section:first-child:has([allow-transparent-header]) .content-over-media--fill {
        --content-over-media-height: calc(100vh + 50px);
        min-height: calc(100vh + 50px);
    }
    .text-logo {
        bottom: calc(5vh + 186px);
    }
x-header.header{
  padding:0 clamp(12px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480))), 24px) 0 clamp(12px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480))), 24px) !important;
  height:60px;
}
.header__logo{
  margin-left:2px;
  margin-top:2px;
}
.store-textlogo {
  font-size:45px;
}
}

/* =========================================
   Footer — ezobolic
   ========================================= */

/* --- Desktop (default) --- */
.footer-bottom {
    all: unset !important;              /* ← テーマの全継承をリセット */
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    z-index: 1 !important;
    margin: 0 !important;
    padding: 20px clamp(18px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480)) + 6px ), 30px) 20px !important;
    box-sizing: border-box !important;
    border: none !important;            /* ← theme.css の border-style:solid 対策 */
    border-top: 1px solid #000 !important;
    font-family: "ls-450", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    text-transform: none !important;
    color: #000 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    -webkit-text-size-adjust: none !important;
    text-size-adjust: none !important;
    background-color: var(--color-bg, #f5f5f5) !important;
    background-image: linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
    background-size: 9px 10px !important;
    background-repeat: no-repeat !important;
    background-origin: border-box !important;
    background-position: top 0 left 0, top 0 right 0, bottom 0 left 0, bottom 0 right 0 !important;
}

/* 子要素リセット — テーマの全継承を遮断 */
.footer-bottom *,
.footer-bottom *::before,
.footer-bottom *::after {
    all: unset !important;              /* ← 完全リセット */
    display: revert !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: none !important;            /* ← theme.css の border-style:solid 対策 */
    letter-spacing: 0 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    text-decoration: none !important;
    text-transform: none !important;
    word-spacing: inherit !important;
    -webkit-font-smoothing: inherit !important;
    -moz-osx-font-smoothing: inherit !important;
}

.footer-bottom__copy {
    text-align: left !important;
    width: 300px !important;
}

.footer-bottom__address {
    text-align: center !important;
    flex-grow: 1 !important;
    line-height: 1.2 !important;
}

.footer-bottom__social {
    text-align: right !important;
    width: 300px !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 16px !important;
}

.footer-bottom__social a {
    color: inherit !important;
    text-decoration: none !important;
    transition: opacity 0.3s !important;
    cursor: pointer !important;
}

.footer-bottom__social a:hover {
    opacity: 0.6 !important;
}

/* --- nav内フッター上書き --- */
nav .footer-bottom {
    background: white !important;
    background-image: linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
    background-size: 9px 10px !important;
    background-repeat: no-repeat !important;
    background-origin: border-box !important;
    background-position: top 0 left 0, top 0 right 0, bottom 0 left 0, bottom 0 right 0 !important;
}

/* --- Tablet (max-width: 1023px) --- */
@media (max-width: 1023px) {
    .footer-bottom {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        row-gap: 20px !important;
        font-size: 14px !important;
        padding: 20px clamp(14px, calc(12px + (24 - 12) * ((100vw - 480px) / (1024 - 480)) + 2px ), 26px) 20px !important;
    }
    .footer-bottom__copy {
        grid-row: 2 !important;
        width: fit-content !important;
    }
    .footer-bottom__address {
        text-align: center !important;
        grid-row: 1 !important;
        grid-column: 1 / -1 !important;
    }
    .footer-bottom__social {
        grid-row: 2 !important;
        text-align: right !important;
        display: flex !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        justify-self: end !important;
        width: fit-content !important;
    }
}

/* --- SP (max-width: 768px) --- */
@media (max-width: 768px) {
    nav footer {
        position: relative !important;
    }
    nav .footer-bottom {
        background: white !important;
        background-image: linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000) !important;
        background-size: 9px 10px !important;
        background-repeat: no-repeat !important;
        background-origin: border-box !important;
        background-position: top 0 left 0, top 0 right 0, bottom 0 left 0, bottom 0 right 0 !important;
    }
}

footer {
    border-top: 1px solid #000 !important;
    z-index: 1 !important;
    position: relative !important;
}

#chaty-app-elements {
    display: none !important;
}

.predictive-search__products .v-stack.gap-1.justify-items-start{
    flex-direction: column;
}

product-form.product-form--single-sold-out {
    position: relative !important;
    top: 0px !important;
    left: 0 !important;
}
@media (max-width: 1199px) {
.product-card .rating-badge {
  flex-direction: column;
  gap: 2px;
}
}
