/** Shopify CDN: Minification failed

Line 144:5 Unexpected "/"

**/
/* --------------------------------------
　　    
QUEEZ様 ECサイト用　customstyle

----------------------------------------*/

@charset "UTF-8";

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: -apple-system, "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
      background-color: #2d2d2d !important;
    }

/* =========================================
   Shopifyテーマ幅制御の上書き（中央崩れ修正）
========================================= */

/* Shopify標準の最大幅を解除 */
.page-width,
#MainContent,
.main-content {
  max-width: none;
  /* margin: 0 !important; */
  /* padding: 0 !important; */
}

/* サイドメニュー固定レイアウト前提の横並び */
body {
  display: block;
  flex-direction: row;
}

/* 左サイド：PC時のみ固定 */
.desktop-sidebar {
  width: 25vw;
  min-width: 260px; /* 崩れ防止 */
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  /* overflow-y: auto; スクロール対応 */
}

/* 右側全コンテンツ */
.page-wrap,
#MainContent,
main {
  width: 410px;
  margin-left: 25vw; /* sidebar分 */
}


@media (max-width: 1024px) {
  body {
    /* display: flex; */
  }
  .desktop-sidebar {
    display: none; /* SPでは非表示 */
  }

  .page-wrap,
  #MainContent,
  main {
    width: 410px;
    margin-left: 0;
  }

}

/* SP 1カラム */
@media (max-width: 768px) {

  .page-wrap,
  #MainContent,
  main {
    width: 100%;
  }
}

/* テスト */
/* =========================================
   レイアウト制御（Moblie First）
========================================= */

/* ヘッダーは常に上に固定 */
header.header {
  position: fixed;
  top: 0;
  width: 410px;
  z-index: 100;
}

/* SP 1カラム */
@media (max-width: 768px) {

  header.header {
    width: 100%;
  }
}

/* ヘッダー高さ分 Main に余白 */
#MainContent,
main {
  margin-top: 40px;
}

/* PCだけサイドメニュー固定 */
@media (min-width: 1025px) {

  .desktop-sidebar {
    width: 25vw;
    min-width: 260px;
    position: fixed;
    top: 80px; /* ヘッダー下に配置 */
    left: 0;
    height: calc(100vh - 80px);
    /* overflow-y: auto; */
  }

  /* 右側コンテンツ */
  .layout--content,
  #MainContent {
    width: calc(100% - 20vw);
    /* margin-left: 20vw; */
    background: #fff;
  }
  /* .layout--content,
  #MainContent,
  main {
    width: calc(100% - 20vw);
    /* margin-left: 20vw; */
    background: #fff;
  } */
}

/* SPはサイドバー非表示→ハンバーガーで表示 */
@media (max-width: 1024px) {
  .desktop-sidebar {
    display: none;
  }
}
/* ここまで↑ */

    /* Hamburger Menu Overlay */
    .menu-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #2d2d2d;
      z-index: 1000;
      display: none;
      flex-direction: column;
      overflow-y: auto;
    }

    .menu-overlay.active {
      display: flex !important;
    }

    .menu-header {
      padding: 1rem 1.5rem;
      display: flex;
      justify-content: flex-start;
    }

    .close-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      width: 32px;
      height: 32px;
      position: relative;
    }

    .close-btn::before,
    .close-btn::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: #999;
      top: 50%;
      left: 0;
    }

    .close-btn::before {
      transform: rotate(45deg);
    }

    .close-btn::after {
      transform: rotate(-45deg);
    }

    .footer-link {
      display: block;
      color: #999;
      text-decoration: none;
      font-size: 0.875rem;
      margin-bottom: 0.5rem;
    }


    .copyright {
      color: #666;
      font-size: 0.75rem;
    }

    /* Content */
    .content {
      padding: 2rem 1.5rem;
    }

    .section-title {
      font-size: 0.875rem;
      color: #ccc;
      margin-bottom: 1.5rem;
      letter-spacing: 0.1em;
    }

    .image-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0.5rem;
      margin-bottom: 3rem;
    }

    .image-grid img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }

    .brand-section {
      margin-bottom: 3rem;
    }

    .brand-title {
      font-size: 1.25rem;
      font-weight: bold;
      margin-bottom: 1.5rem;
    }

    .brand-text {
      line-height: 1.8;
      color: #333;
      margin-bottom: 1rem;
    }

    .content-footer {
      text-align: right;
      padding: 2rem 1.5rem;
      color: #999;
      font-size: 0.75rem;
    }

    /* Desktop: Sidebar layout */
    @media (min-width: 768px) {
      body {
        /* display: flex; */
        justify-content: center;
      }

      .main-container {
        max-width: 410px !important;
        width: 100% !important;
        /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.3) !important; */
      }

      /* Decorative sidebars */
      body::before,
      body::after {
        content: '';
        flex: 1;
        background-color: #2d2d2d;
      }
    }

    @media (min-width: 1024px) {
      .main-container {
        max-width: 410px !important;
      }
    }



/* --------------------------------------
　　    
QUEEZ様 ECサイト用

----------------------------------------*/




/* CSS変数 */
:root {
    --base-color: #FAFAFA;
    --main-color: #FFF;
    --accent-color: #8F8F8F;
    --text-color: #262626;
    --fv-bg-color: #2d2d2d;

    --font-jp: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    --font-en: "Abril Fatface", serif;

    /* menu展開時の背景用 */
    --opacity: 0;
}

* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

html {
    font-size: 16px;
}

body {
    background-color: var(--base-color);
    color: var(--text-color);

    font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    /* font-family: var(--font-jp); */
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: .05rem;
    width: 100%;
    margin: 0 auto;
}

/* font en指定 */
.sidebar-logo,
.sidebar-item-title,
.sidebar-footer-logo,
.logo-subtitle,
.menu-home,
.menu-item-title,
.footer-logo,
.copyright,
.section-title,
.brand-title,
h2,
.category-label {
    font-family: "Abril Fatface", "Jost", serif;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.01rem;
    
    font-optical-sizing: auto;
    font-style: normal;
}
.abril-fatface-regular {
  font-family: "Abril Fatface", serif;
  font-weight: 400;
  font-style: normal;
}

/* 英語 */



/* Loading screen styles ローディング動画 */
/* .loading-screen {
  position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 0.5s ease-out;
} */

    .loading-screen.fade-out {
      opacity: 0;
      pointer-events: none;
    }

    .loading-video {
      height: 100%;
      width: auto;
      max-width: 100%;
      object-fit: cover;
    }

    @media (min-width: 768px) {
      .loading-video {
        max-width: 480px;
      }
    }

    @media (min-width: 1024px) {
      .loading-video {
        max-width: 600px;
      }
    }

    /* サイドnav */
    .desktop-sidebar {
      display: none;
    }

    /* tablet */
    @media (min-width: 768px) {
      .desktop-sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100vh;
        background-color: #2d2d2d;
        background-image: url('{{ "bg2.jpg" | file_url }}');
        background-size: cover;
        background-position: center;
        /* overflow-y: auto; */
        z-index: 0;
      }

      .sidebar-logo {
        font-size: 6rem;
        /* font-weight: bold; */
        color: white;
        padding: 1.5rem 1rem 2.5rem;
        letter-spacing: -0.05em;
        line-height: 0.8;
      }

      .sidebar-nav {
        flex: 1;
        padding: 0 1.5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .sidebar-item {
        /* border-bottom: 1px solid #444; */
        /* padding: 0 0 0.5rem; */
        cursor: pointer;
        transition: opacity 0.3s ease;
      }

      .sidebar-item:hover {
        opacity: 0.5;
      }

      .sidebar-item-title {
        font-size: 1.5rem;
        color: white;
        letter-spacing: -0.01em;
      }

      .sidebar-item-subtitle {
        font-size: 0.75rem;
        color: #999;
        font-weight: 500;
        margin-left: 1rem;
      }

      .sidebar-footer {
        /* background-color: #1a1a1a; */
        padding: 1.5rem;
      }

      .sidebar-social-icons {
        display: flex;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
      }

      .sidebar-social-icon {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        /* background-color: white; */
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        text-decoration: none;
        color: #1a1a1a;
      }

      .sidebar-social-icon.sns {
        background-color: #666;
        color: white;
        font-size: 0.625rem;
        font-weight: bold;
      }
      
      .sidebar-flex {
        display: flex;
        justify-content: space-between;
        position: relative;
      }

      .sidebar-footer-links,
      .footer-links {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
      }

      .sidebar-footer-link,
      .footer-link {
        color: #8F8F8F;
        text-decoration: none;
        font-size: 0.75rem;
      }

      .sidebar-footer-link:last-child {
        color: white;
      }

      .sidebar-footer-link:hover,
      .footer-link:hover {
        color: white;
      }

      .sidebar-footer-logo {
        width: 30%;
        position: absolute;
        bottom: -2rem;
        right: -2rem;
      }

      .sidebar-footer-logo img {
        max-width: 100%;
        height: auto;

      }
    }

    /* PC */
    @media (min-width: 1024px) {
      .desktop-sidebar {
        /* width: 320px; */
      }
      .sidebar-logo {
        font-size: 9rem;
      }

      .sidebar-item-title {
        font-size: 2rem;
      }

      .sidebar-item-subtitle {
        font-size: 0.875rem;
      }
      
      .sidebar-footer-logo {
        width: 30%;
        bottom: -4rem;
        right: -3rem;
      }
    }

    /* Mobile-first: Main container */
    .main-container {
      background-color: white;
      min-height: 100vh;
      position: relative;
    }

    .section-container {
      background-color: white;
      /* min-height: 100vh; */
      position: relative;
    }

    /* Header */
    .header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 1.5rem .5rem;
      border-bottom: 1px solid #e5e5e5;
      background-color: white;
      position: sticky;
      top: 0;
      left: auto;
      z-index: 100;
    }

    .hamburger-btn {
      background: none;
      border: none;
      cursor: pointer;
      width: 56px;
      height: 24px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      margin: -1rem 0 0;
      padding: 0;
    }

    .hamburger-btn span {
      display: block;
      width: 100%;
      height: 2px;
      background-color: #2d2d2d;
      transition: all 0.3s ease;
    }

    .logo-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0.25rem;
    }

    .logo-image {
      height: 32px;
      width: auto;
    }

    .logo-subtitle {
      font-size: 0.625rem;
      text-align: center;
      margin-top: -0.25rem;
    }

    .header-icons {
      display: flex;
      gap: .5rem;
      align-items: center;
      margin: -1.8rem 0 0;
    }

    .icon-btn {
      background: none;
      border: none;
      cursor: pointer;
      font-size: 1.25rem;
    }

    .icon-btn img {
        width: 1.5rem;
        height: auto;
    }

    .icon-btn.cart {
        width: 28px;
        margin: 0 -.5rem 0 0;
    }
    .icon-btn.cart img {
        width: 28px;
    }

    /* Hamburger menu with slide-in animation */
    /* 上から落ちてくる */
    .menu-overlay {
      position: fixed;
      top: -100%;
      left: auto;
      width: 410px;
      height: 100%;
      background-color: #2d2d2d;
      z-index: 1001;
      display: flex;
      flex-direction: column;
      /* overflow-y: auto; */
      opacity: 0;
      transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                  opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .menu-overlay.active {
      top: 0;
      left: auto;
      opacity: 1;
    }

    .menu-header {
      padding: 1rem 1.5rem;
      display: flex;
      justify-content: flex-start;
    }

    /* 閉じるボタン */
    .close-btn {
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      width: 56px;
      height: 32px;
      position: relative;
    }

    .close-btn::before,
    .close-btn::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: #999;
      top: 50%;
      left: 0;
    }

    .close-btn::before {
      transform: rotate(24deg);
    }

    .close-btn::after {
      transform: rotate(-24deg);
    }


    /* メニュー */
    .menu-home {
      font-size: 9rem;
      font-weight: 400;
      background-color: #fff;
      color: #2d2d2d;
      padding: 0 0 2rem;
      letter-spacing: -0.05em;
      line-height: 1;
      transition: all 0.5s ease;
    }

    .menu-home:hover {
      /* color: #8F8F8F; */
      background-color: #2d2d2d;
      color: #fff;
    }

    .menu-nav {
      flex: 1;
      background-color: #fff;
      color: #2d2d2d;
    }

    .menu-item {
      border-top: 1px solid #444;
      padding: 1.5rem 0;
    }

    .menu-item-title {
      display: block;
      font-size: 4.5rem;
      font-weight: 500;
      letter-spacing: -0.05em;
      line-height: 1.2;
      margin: 0 1.5rem;
      transition: opacity 0.3s ease;

    }

    .menu-item-title:hover {
        opacity: 0.3;
    }

    .menu-item-subtitle {
        display: block;
        font-size: 0.875rem;
        color: #999;
        margin: 0 0 0 1.5rem;
    }

    .menu-footer {
      background-color: var(--fv-bg-color);
      padding: 2rem 1.5rem 3rem;
    }

    .social-icons {
      display: flex;
      gap: 1rem;
      margin-bottom: 2rem;
    }

    .social-icons img {
      width: 80%;
    }

    .social-icon {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      /* background-color: white; */
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.25rem;
      text-decoration: none;
      color: #1a1a1a;
    }

    .social-icon.sns {
      background-color: #666;
      color: white;
      font-size: 0.75rem;
      font-weight: bold;
    }


    .footer-logo {
      font-family: "Abril Fatface", sans-serif;
      font-size: 8.5rem;
      font-weight: 400;
      letter-spacing: -0.05em;
      line-height: 1;
      color: #fff;
      margin: 0 -1.5rem -0.5rem -2rem;
      padding: 0 0 1.5rem;
      display: block;
      overflow-x: hidden;
    }

    .copyright {
      color: #666;
      font-size: 0.75rem;
    }


/* ======================================
   メインコンテンツ
====================================== */

    /* Content */
    .content {
      padding: 0 1.5rem 2rem;
    }

    .section-title {
      font-size: 0.875rem;
      color: #ccc;
      margin-bottom: 1.5rem;
      letter-spacing: 0.1em;
    }

/* ======================================
   Sections
====================================== */
/* 共通 */
section {
  padding: var(--spacing-xl) 0;
  text-align: center;
}

/* section h2 {
  font-size: 1.8rem;
  margin-bottom: var(--spacing-md);
  letter-spacing: 0.05em;
} */

section p {
  /* font-family: var(--font-jp); */
  font-size: 1rem;
  line-height: 1.8;
}

/* --------------------------------------
　　     about section styles
----------------------------------------*/
.about {
  background: var(--color-wrap-bg);
  padding: 114px 1.5rem 114px;
}

.about .about-title-kana {
  color: transparent;
  font-size: 1.4rem;
  text-align: left;
  line-height: 1;
  margin: 0;
  padding: 1.5rem 0 0;
}


.about-title-kana span {
  color: #8F8F8F;
  font-size: 0.875rem;
}

.about .about-title {
  font-size: 1.125rem;
  text-align: left;
  color: #262626;
  letter-spacing: 0.02rem;
  padding: 0 0 1.5rem;
}


.about img {
    max-width: calc(100% + 3rem);
    height: auto;
    object-fit: cover;
    margin: 0 -1.5rem 0;
}

.about .line {
  width: 40%;
  height: .8px;
  background-color: #262626;
  /* margin-left: 1.5rem; */
}

.about p {
  text-align: left;
  line-height: 2.5;
  margin: 1.5rem 0 2.5rem;
}

.brand-section {
  margin-bottom: 3rem;
}


/* --------------------------------------
　　    hero-scroll section styles
----------------------------------------*/

    .info-box {
      max-width: 100%;
      background: #EEEEEE;
      padding: 0.8rem 1rem .5rem;
      text-align: center;
    }

    .info-text {
      color: #8F8F8F;
      font-size: 12px;

    }

    .pickup-section {
      padding: 6rem 0;
      background-color: #fff;
    }

    .pickup-carousel {
      display: flex;
      flex-wrap: nowrap;
      gap: 1rem;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding-bottom: 1rem;
    }

    .pickup-carousel::-webkit-scrollbar {
      display: none;
    }

        .pickup-card {
      flex: 0 0 min(410px, 100%);
      scroll-snap-align: center;
      background-color: white;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      transition: transform 0.3s ease;
      /* padding: 2rem 2rem 0; */
    }

    .pickup-card:hover {
      transform: translateY(-4px);
    }

    .pickup-image {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
    }

    .pickup-content {
      /* padding: 1.5rem; */
    }

    .pickup-label {
      font-size: 1.25rem;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }

    .pickup-description {
      font-size: 0.875rem;
      color: #666;
    }

    .pickup-dots {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 1rem;
    }

    .pickup-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #ddd;
      cursor: pointer;
      transition: background-color 0.3s ease;
    }

    .pickup-dot.active {
      background-color: #333;
    }




    /* pickup-card切り抜きph */
    /* 
    .pickup-card {
      flex: 0 0 min(400px, 85%);
      scroll-snap-align: center;
      background-color: white;
      border: 1px solid #e5e5e5;
      display: flex;
      flex-direction: column;
      cursor: pointer;
      transition: transform 0.3s ease;
      padding: 2rem 2rem 0;
    }

    .pickup-card:hover {
      transform: translateY(-4px);
    }

    .pickup-image {
      width: 100%;
      height: auto;
      object-fit: cover;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
    }

    .pickup-content {
      padding: 1.5rem;
    }

    .pickup-label {
      font-size: 1.25rem;
      font-weight: bold;
      margin-bottom: 0.5rem;
    }

    .pickup-description {
      font-size: 0.875rem;
      color: #666;
    }

    .pickup-dots {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 1rem;
    }

    .pickup-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #ddd;
      cursor: pointer;
      transition: background-color 0.3s ease;
    }

    .pickup-dot.active {
      background-color: #333;
    }
 */

/* --------------------------------------
　　   CATEGORY section styles
----------------------------------------*/
.category-section {
      /* padding-bottom: 6rem; */
      padding: 6rem 0;
}

.category-title {
  text-align: center
}

.category-links {

}

a.category-link {
  display: block;
  background: transparent;
  font-family: "Abril Fatface", sans-serif;
  color: #ccc;
  border-bottom: solid #eee 1px;
  text-align: left;
  padding: 1rem 1.5rem;
  transition: all 0.3s ease;
}

a.category-link:hover {
  color: #262626;
}


/* PICK UP ITEM */

.pickup-item-section {
  
}

.pickup-item-title {
  border-bottom: 2px solid #2d2d2d;
  padding: 6rem 0 2.5rem;
}

    .category-subtitle {
      font-size: 0.875rem;
      color: #999;
      margin-bottom: 2rem;
      text-align: center;
    }

    .category-grid {
      display: grid;
      gap: 1rem;
    }

    .category-card {
      /* border: 1px solid #e5e5e5; */
      overflow: hidden;
      cursor: pointer;
      transition: transform 0.3s ease;
    }

    .category-card:hover {
      transform: translateY(-4px);
    }

    .category-card.large {
      grid-column: 1 / -1;
    }

    .category-image {
      max-width: 100%;
      border: solid 2px #000;
      height: auto;
      object-fit: cover;
      background-color: #f5f5f5;
    }

    .category-card.large {
      height: auto;
    }

    .category-label {
        padding: 0 0 1rem;
        text-align: left;
        font-size: 1.5rem;
        background-color: white;
    }

    .category-small-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
    }



/* --------------------------------------
　　   NEW ARRIVALE section styles
----------------------------------------*/
    /* 新商品 */
    .new-arrival-section {
      /* background-color: #2d2d2d; */
      /* color: white; */
      padding: 6rem 1.5rem;
    }

    .new-arrival-subtitle {
      font-size: 0.875rem;
      color: #999;
      margin-bottom: 2rem;
      text-align: center;
    }

    .new-arrival-grid {
      display: flex;
      flex-direction: column;
      gap: 2rem;
      padding: 2rem;
    }

    .polaroid-card {
      background-color: white;
      margin-bottom: 1rem;
      padding: 1rem;
      transform: rotate(-2deg);
      border: solid #D9D9D9 1px;
      box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
      transition: all 0.3s ease;
    }

    .polaroid-card:hover {
        transform: rotate(0deg);
    }

    .polaroid-card:nth-child(even) {
      transform: rotate(2deg);
      align-self: flex-end;
    }

    .polaroid-card:nth-child(even):hover {
        transform: rotate(0deg);
    }


    .polaroid-image {
      width: 100%;
      height: auto;
      object-fit: cover;
      margin-bottom: 1rem;
    }

    .polaroid-content {
        text-align: left;
      padding: 1rem;
    }

    .polaroid-label {
      font-size: 1rem;
      color: #262626;
      font-family: "Jost", sans-serif;
      font-weight: 500;
      margin-bottom: 1rem;
    }

    .polaroid-description {
      font-size: 0.875rem;
      color: #666;
      margin-bottom: .5rem;
    }

    .polaroid-button {
      display: block;
      width: fit-content;
      margin: 0 0 0 auto;
      padding: 0.5rem 1.5rem;
      letter-spacing: 0.03rem;
      font-family: 'Abril Fatface';
      border: 1px solid #333;
      background-color: #333;
    color: #fff;
      text-decoration: none;
      font-size: 0.875rem;
      transition: all 0.3s ease;
    }

    .polaroid-button:hover {
      background-color: #fff;
      color: #333;
    }
    /* </CHANGE> */


/* --------------------------------------
　　  Instagram section styles
----------------------------------------*/
    /* Instagram */
    .section-container.insta-container {
      min-height: auto;
    }

    .Instagram-section {
      background-color: #fff;
      color: white;
      /* margin: 5rem 0; */
      padding: 10rem 0 8rem;
    }

    .hover-darken {
        width: 60%;
        margin: 0 auto;
        position: relative;
        display: inline-block;
        overflow: hidden;
        /* overflow: visible; */
        z-index: 1;
    }

    .Instagram-section img {
        max-width: 100%;
        height: auto;
        object-fit: cover;
    }

.hover-darken img {
  display: block;
}

.Instagram-text {
  position: absolute;
  font-family: "Abril Fatface", "Jost", sans-serif;
  left: 0;
  right: 0;
  color: #2d2d2d;
  font-size: 1rem; /* 画面幅に応じて調整 */
  font-weight: 500;
  white-space: nowrap;
  margin: 9rem 0 0 1rem;
  animation: scroll-text 10s linear infinite;
}

/* 横スクロールアニメーション */
@keyframes scroll-text {
  0% {
    transform: translateX(0) translateY(-50%);
  }
  100% {
    transform: translateX(-50%) translateY(-50%);
  }
}

/* hover 暗く */
.hover-darken::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0); /* 初期は透明 */
  transition: background-color 0.3s ease;
}

.hover-darken:hover::after {
  background-color: rgba(0, 0, 0, 0.50); /* 35%透過の黒オーバーレイ */
}


    .Instagram-button {
      display: block;
      width: fit-content;
      border: 1px solid #333;
      background-color: #333;
      color: white;
      text-decoration: none;
      font-family: "Abril Fatface", "Jost", sans-serif;
      font-size: 0.875rem;
      font-weight: 400;
      margin: 2rem auto;
      padding: 0.5rem 1.125rem 0.5rem 1.5rem;
      transition: all 0.3s ease;
    }

     .Instagram-button img {
        width: 1.5rem;
        margin-left: .5rem;
     }

     .Instagram-button:hover {
      transform: translateY(-4px);
    }


/* --------------------------------------
　　  ポリシー　スタイル
----------------------------------------*/

.originalpage-container,
.shopify-policy__container {
  position: relative;
  background: #fff;
  max-width: 410px;
  margin: 0;
  padding: 1rem 1.5rem;
}

.shopify-policy__container {
  padding: 1rem 1.5rem 5rem;
}

@media (max-width: 768px) {
    .originalpage-container,
    .shopify-policy__container {
        max-width: 100%;
    }
}

.shopify-policy__title {
  font-weight: 800;
  margin: 2rem 0;
}

.shopify-policy__body h2 {
    font-size: 1.2rem;
    margin: 2rem 0 1rem;
}

.shopify-policy__body dt {
    padding: 1rem 0 0;
}

.shopify-policy__body dd {
    border-bottom: #8F8F8F solid 1px;
    padding: 0 0 .5rem;
}

.shopify-policy__body p {
  font-weight: 400;
  padding-bottom: 0.5rem;
}

.shopify-policy__body p strong {
  font-weight: 500;
}

.shopify-policy__body .tokusho-text {
  color: #8F8F8F;
  padding: 1rem 0 1rem 1rem;
}


/* --------------------------------------
　　   custom page styles
----------------------------------------*/

    .page-title {
      font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
      font-size: 1.2rem;
      text-align: center;
      padding: 2rem 0 1rem;
    }

    .page-title-en {
      font-family: "Abril Fatface", serif;
      font-size: 1.5rem;
    }

    .page-subtitle {
      font-size: 0.875rem;
      color: #999;
      margin-bottom: 2rem;
      text-align: center;
    }
    
    
    /* Breadcrumb */
    nav.breadcrumb {
        font-size: 12px;
        margin-bottom: 1.5rem;
    }

    .breadcrumb a {
        color: #8F8F8F;
        /* border-bottom: solid 0.5px #8F8F8F; */
        margin: 0 4px;
        text-decoration: underline;
    }

    .breadcrumb a:hover {
        text-decoration: underline;
    }

/* ----- 会社概要 -----*/

    .company-info {
      text-align: left;
      margin-bottom: 3rem;
    }

    .company-info dt {
      padding: 1rem 0 0;
    }

    .company-info dd {
      border-bottom: #8F8F8F solid 1px;
      padding: 0 0 .5rem;
    }



/* ----- 購入フロー ----- */

    .shopping-section {
      padding-bottom: 4rem;
    }

    .shopping-list {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
    }

    .shopping-list-title {
      width: calc(50% - 0.5rem);
      background: #262626;
      color: #fff;
      padding: 1rem 0rem;
    }

    .shopping-list-title a {
      padding: 1rem 0.5rem;
    }

    .shopping-item {
      text-align: left;
      margin-bottom: -3rem;
    }

    .shopping-item .item-title {
      font-size: 1rem;
      font-weight: 700;
      border-bottom: 1px solid #ddd;
      padding: 6rem 0 1rem;;
    }

    .shopping-item p {
      margin: 1rem 0;
    }

    .shopping-item-list dd,
    .shopping-item-list dt {
      font-weight: 400;
    }

    .shopping-item-value {
      color: #8F8F8F;
      font-size: 0.875rem;
      margin-bottom: 1rem
    }


/* ----- FAQ -----*/
/* FAQ section */
    .faq-section {
        margin-bottom: 2rem;
    }

    .faq-item {
      text-align: left;
      border-bottom: 1px solid #ddd;
      padding: 1rem 0;
    }
    .faq-item img {
      width: 1rem;
      height: auto;
    }

    .faq-item:first-child {
        padding-top: 0;
    }

    .faq-section-h3 {
      text-align: left;
      margin-top: 3.5rem;
    }

    /* Details and Summary */
    details {
        cursor: pointer;
    }

    summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 0.875rem;
        font-weight: 600;
        list-style: none;
        padding: 0;
    }

    summary::-webkit-details-marker {
        display: none;
    }

    .summary-text {
        flex: 1;
    }

    .summary-icon {
        transition: transform 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    details[open] .summary-icon {
        transform: rotate(180deg);
    }

    .faq-answer {
        margin-top: 1rem;
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.8;
        color: #999;
        padding-left: 0;
    }

    .faq-answer a {
      text-decoration: underline;
    }

        /* CTA Section */
        .cta-section {
            margin-top: 40px;
            text-align: center;
        }

        .cta-text {
            font-size: 14px;
            color: #666;
            margin-bottom: 16px;
        }

        .cta-buttons {
            margin-bottom: 3rem;
        }

        .cta-btn {
            padding: 1rem 3rem;
            font-size: 1rem;
            font-weight: 600;
            border: none;
            cursor: pointer;
            transition: background-color 0.3s ease;
            letter-spacing: 0.5px;
        }

        .cta-btn-primary {
            background-color: #1a1a1a;
            color: #ffffff;
        }

        .cta-btn-primary:hover {
            background-color: #333;
        }

        .cta-btn-secondary {
            background-color: #ffffff;
            color: #1a1a1a;
            border: 1px solid #1a1a1a;
        }

        .cta-btn-secondary:hover {
            background-color: #f5f5f5;
        }


/* ======================================
   footer
====================================== */

    .footer-nav-wrapper {
        /* width: 410px; */
      background-color: #EEEEEE;
      color: white;
      /* padding: 2rem 1.5rem 3rem; */
      /* margin: 0 -1.5rem; */
      position: relative;
      padding: 3rem 2.25rem;
    }


    /* PAGE TOP ボタン */
    .page-top-btn {
      position: absolute;
      top: -2rem;
      right: 1.5rem;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background-color: #999;

      color: white;
      box-shadow: 0px 0px 15px -5px #f5f5f5;
      border: none;
      cursor: pointer;
      font-family: "Abril Fatface", serif;
      font-size: 0.8rem;
      font-weight: 500;
      text-align: center;
      line-height: 1.2;
      transition: all 0.3s ease;
    }
 
    .page-top-btn:hover {
      background: #666;
    }

    
/* footer */
/* サイドnav　調整 */
.section-container.footer-wrapper {
  margin-left: 25vw;
}

/* SP 1カラム */
@media (max-width: 768px) {

.section-container.footer-wrapper {
  width: 100%;
  margin-left: 0;
}
}

@media (max-width: 1024px) {
.section-container.footer-wrapper {
  margin-left: 0;
}
}

    .footer-nav-item {
      padding: .5rem 0;
      color: #D9D9D9;
      /* border-bottom: 1px solid #444; */
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .footer-nav-item:hover {
      color: #262626;
    }

    .footer-nav-title {
      font-family: "Abril Fatface", "Jost", sans-serif;
      font-size: 1rem;
      font-weight: 500;
      /* margin-bottom: 0.25rem; */
      letter-spacing: 0.01em;
    }

    .footer-link-item {
      font-family: 'Zen Kaku Gothic New', sans-serif;
      font-weight: 500;
      font-size: 0.75rem;
      color: #8F8F8F;
    }

    .footer-links-section {
      margin: 2rem 0;
    }

    .footer-link-item {
      color: #999;
      text-decoration: none;
      font-size: 0.875rem;
      display: block;
      margin-bottom: 0.75rem;
    }

    .footer-link-item:hover {
      color: white;
    }

    .footer-logo-section {
        text-align: center;
        margin: 2rem auto 0;
        padding: 0 0 2rem;
    }

    .footer-logo-large {
        display: block;
        color: #2d2d2d;
       font-family: "Abril Fatface", serif;
       font-size: 9.5rem;
       font-weight: 400;
       letter-spacing: -0.05em;
       line-height: 1;
       margin: 0 0px 1rem -2rem;
       padding: 0 0;
        /* overflow: hidden; */
    }

    .footer-copyright {
      font-size: 0.75rem;
      color: #666;
    }

    .content-footer {
      display: none;
    }


    /* Updated desktop layout with sidebar */
    @media (min-width: 768px) {
      body {
        /* display: flex; */
        justify-content: center;
        padding-left: 280px !important;
      }

      .main-container {
        max-width: 410px !important;
        width: 100% !important;
        /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); */
      }

      .section-container {
        max-width: 410px !important;
        width: 100% !important;
      }

      /* Right decorative sidebar */
      body::after {
        content: '';
        flex: 1;
        background-color: #2d2d2d;
      }
    }

    @media (min-width: 1024px) {
      body {
        padding-left: 320px !important;
      }

      .main-container {
        max-width: 410px !important;
      }
      .section-container {
        max-width: 410px !important;
        width: 100% !important;
      }
    }

/* 横スクロール無効 */
html, body {
  overflow-x: hidden;
}