.elementor-686 .elementor-element.elementor-element-97b4fb9{--display:flex;--min-height:400px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-686 .elementor-element.elementor-element-97b4fb9:not(.elementor-motion-effects-element-type-background), .elementor-686 .elementor-element.elementor-element-97b4fb9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFDF1;}.elementor-686 .elementor-element.elementor-element-97b4fb9.e-con{--align-self:center;}.elementor-686 .elementor-element.elementor-element-2d63c08{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-686 .elementor-element.elementor-element-2d63c08.e-con{--align-self:center;}.elementor-686 .elementor-element.elementor-element-8f4da41.elementor-element{--align-self:center;}.elementor-686 .elementor-element.elementor-element-e427b0f{text-align:center;}.elementor-686 .elementor-element.elementor-element-e427b0f .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:2px;color:#333333;}.elementor-686 .elementor-element.elementor-element-ddd18fd{--display:flex;--padding-top:10px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-686 .elementor-element.elementor-element-6b153d6{font-family:"Noto Sans JP", Sans-serif;font-size:14px;letter-spacing:1px;color:#B6B6B6;}.elementor-686 .elementor-element.elementor-element-6b153d6 a{color:#A7A083;}.elementor-686 .elementor-element.elementor-element-09b6a42{--display:flex;--padding-top:0px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-686 .elementor-element.elementor-element-a9cdb34{--display:flex;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}@media(max-width:767px){.elementor-686 .elementor-element.elementor-element-97b4fb9{--min-height:200px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-686 .elementor-element.elementor-element-2d63c08{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-686 .elementor-element.elementor-element-e427b0f .elementor-heading-title{font-size:14px;}.elementor-686 .elementor-element.elementor-element-ddd18fd{--padding-top:10px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-686 .elementor-element.elementor-element-6b153d6{padding:0px 20px 0px 20px;font-size:12px;}.elementor-686 .elementor-element.elementor-element-09b6a42{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-686 .elementor-element.elementor-element-a9cdb34{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}/* Start custom CSS for html, class: .elementor-element-8f4da41 *//* アニメーションの定義 */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-text span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease-out forwards;
}

/* 1文字ずつタイミングをずらす設定（自動適用） */
.fade-in-text span:nth-child(1) { animation-delay: 0.1s; }
.fade-in-text span:nth-child(2) { animation-delay: 0.2s; }
.fade-in-text span:nth-child(3) { animation-delay: 0.3s; }
.fade-in-text span:nth-child(4) { animation-delay: 0.4s; }
.fade-in-text span:nth-child(5) { animation-delay: 0.5s; }
.fade-in-text span:nth-child(6) { animation-delay: 0.6s; }
.fade-in-text span:nth-child(7) { animation-delay: 0.7s; }

.fade-in-text {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  display: inline-block;
  color: #666666 !important;
  font-size: 48px !important;
  letter-spacing: 0.1em !important;
  text-align: center !important;
  margin: 0px 0 !important;
}

@media (max-width: 767px) {
  .fade-in-text {
    font-size: 28px !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c6327f3 */.category-description-box {
    margin: 30px 0;
    padding: 25px;
    background: #f9f9f9;
    /* バルーンの透明感と特別感を意識した左ライン */
    border-left: 5px solid #A7A083;
    border-radius: 12px; /* 少し丸みを強めて柔らかく */
    font-size: 16px;    /* デスクトップ基準サイズ */
    line-height: 1.8;
    color: #666666;
}

.category-description-box p {
    margin-bottom: 0.5em;
}

/* レスポンシブ対応: 画面幅768px以下で文字サイズを14pxに */
@media screen and (max-width: 768px) {
    .category-description-box {
        padding: 20px;       /* スマホでは少しパディングを詰める */
        font-size: 12px;     /* ご希望の14px */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3c83769 */.simple-note {
  margin: 0px 0;
  color: #666666;
  font-size: 14px;
  line-height: 1.8;
}

.note-heading {
  margin: 0 0 8px 0;
  font-weight: bold;
}

.note-list {
  margin: 0;
  padding-left: 1.2em;
  list-style: disc;
}

.note-list li {
  margin-bottom: 4px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .simple-note {
    font-size: 12px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c69a7e4 *//* --- コンテナとグリッド --- */
.custom-product-wrapper { width: 100%; }

.custom-products-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 20px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- カテゴリボタン --- */
.category-buttons { margin-bottom: 40px; display: flex; gap: 10px; flex-wrap: wrap; }
.category-buttons a { 
    padding: 8px 16px; border: 1px solid #ddd; text-decoration: none; 
    color: #333; font-size: 14px; border-radius: 4px; 
    transition: all 0.3s ease;
}
.category-buttons a:hover { background: #333; color: #fff; border-color: #333; }

/* --- 商品カード --- */
.product-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    border: 1px solid #f5eedb;
}
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.product-card a { text-decoration: none; display: block; padding: 10px; color: #666666 }

/* --- 画像・テキスト --- */
.product-card img {
    width: 100%; aspect-ratio: 1/1; object-fit: cover; 
    background: #f4f4f4; display: block; margin-bottom: 10px;
}
.product-card h3 { 
    font-size: 14px; font-weight: normal; margin: 0 0 2px 0; 
    line-height: 1.4; color: #333; 
}
.product-card .price, 
.product-card .price .amount, 
.product-card .price ins .amount {
    font-size: 14px !important; color: #333 !important; 
    font-weight: normal !important; display: block; margin: 0 !important;
}
.product-card .price del { display: none; }

/* --- ページネーション --- */
.custom-pagination { margin-top: 50px; text-align: center; font-size: 16px; }
.custom-pagination a, .custom-pagination span { padding: 5px 12px; color: #999; }
.custom-pagination .current { color: #000; border-bottom: 1px solid #000; }

/* --- レスポンシブ調整 --- */
@media (max-width: 900px) { .custom-products-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .custom-products-list { grid-template-columns: 1fr; } }
/* --- カテゴリボタン（サイズ調整版） --- */
.category-buttons { margin-bottom: 40px; display: flex; gap: 10px; flex-wrap: wrap; }
.category-buttons a { 
    padding: 8px 16px; border: 1px solid #ddd; text-decoration: none; 
    color: #333; font-size: 14px; border-radius: 4px; 
    transition: all 0.3s ease;
}
.category-buttons a:hover { background: #333; color: #fff; border-color: #333; }

/* カテゴリボタンのレスポンシブ調整 */
@media (max-width: 600px) {
    .category-buttons { gap: 6px; }
    .category-buttons a { 
        padding: 6px 12px; 
        font-size: 12px; /* スマホでは少し小さくする */
    }
}
/* フィルタボタン共通 */
.filter-buttons { margin-bottom: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
.filter-buttons a { 
    padding: 6px 12px; border: 1px solid #ddd; text-decoration: none; 
    color: #333; font-size: 13px; border-radius: 20px; /* 角丸でタグらしく */
    transition: all 0.3s ease;
}
.filter-buttons a:hover { background: #333; color: #fff; }

/* タグボタン専用の装飾（薄いグレー背景など） */
.tag-buttons a { border: none; background: #f4f4f4; color: #666; }
.tag-buttons a:hover { background: #333; color: #fff; }

/* スマホ調整 */
@media (max-width: 600px) {
    .filter-buttons a { padding: 4px 10px; font-size: 11px; }
}
/* --- レイアウト --- */
.custom-products-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 10px; list-style: none !important; padding: 0 !important; margin: 0 !important; }

/* --- 検索ボタン --- */
.filter-section { margin-bottom: 30px; }
.filter-section h3 { font-size: 14px; margin-bottom: 15px; color: #333; }
.filter-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-buttons a { text-decoration: none; transition: all 0.3s ease; }

.category-section .filter-buttons a { padding: 8px 16px; border: 1px solid #ddd; color: #333; font-size: 14px; border-radius: 4px; }
.category-section .filter-buttons a:hover { background: #333; color: #fff; }

.tag-section .filter-buttons a { padding: 6px 14px; background: #f4f4f4; color: #888; font-size: 13px; border-radius: 20px; }
.tag-section .filter-buttons a:hover { background: #333; color: #fff; }

/* --- 商品カードとホバー --- */
.product-card { transition: transform 0.3s ease, box-shadow 0.3s ease; border-radius: 4px; background: #fff; overflow: hidden; }
.product-card:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.product-card a { text-decoration: none; display: block; padding: 10px; color: #333; }
.product-card img { width: 100%; aspect-ratio: 1/1; object-fit: cover; background: #f4f4f4; display: block; margin-bottom: 10px; }
.product-card h3 { font-size: 12px; font-weight: normal; margin: 0 0 2px 0; color: #333; }
.product-card .price, .product-card .price .amount { font-size: 12px !important; color: #333 !important; font-weight: normal !important; display: block; margin: 0 !important; }

/* --- ページネーションとレスポンシブ --- */
.custom-pagination { margin-top: 50px; text-align: center; }
.custom-pagination .current { color: #000; border-bottom: 1px solid #000; }
/* --- レスポンシブ調整（タブレット以下は2カラム） --- */
@media (max-width: 900px) { 
    .custom-products-list { 
        grid-template-columns: repeat(2, 1fr) !important; /* タブレット・スマホで2カラム */
    } 
}

@media (max-width: 600px) {
    .category-buttons { gap: 6px; }
    .category-buttons a,
    .category-section .filter-buttons a { 
        padding: 6px 12px; 
        font-size: 11px; 
    }
    .tag-section .filter-buttons a { 
        padding: 4px 10px; 
        font-size: 11px; 
    }
}
/* 画像の重なりを制御するためのラッパー設定 */
.product-image-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 10px;
}

/* 画像自体の基本設定（既存の product-card img から調整） */
.product-card img {
    width: 100%; 
    aspect-ratio: 1/1; 
    object-fit: cover; 
    background: #f4f4f4; 
    display: block; 
    margin-bottom: 0; /* ラッパー側で余白を取るため0に */
}

/* 売り切れ時のカード全体のスタイル調整（画像を少し薄くする等） */
.product-card.is-sold-out img {
    opacity: 0.7;
}

/* SOLD OUTラベルのスタイル */
.sold-out-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
    border-radius: 4px;
    z-index: 2;
    pointer-events: none;
}/* End custom CSS */