/*景色の設定*/

.ec-layoutRole,.ec-itemNav,.ec-categoryRole,.ec-itemNav__nav li a 
{
    background:#fff;
    font-family: 'Hannari', serif !important;
}

/*Topスライダーを調整*/
.top-banner{
    width: 100%;
    margin: 2rem 0;
    
}
.about_SP{
    margin-top: 0.5rem;
    color: black;
}
.about-banner {
  display: block;
  margin: 0.2rem auto;
  max-width: 150%;
  text-decoration: none;
}

.about-banner-container {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fefeed 34%, #f8b500 100%);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  padding: 0.6rem 1rem;
}

.about-banner-container:hover {
  transform: scale(1.02);
}

.about-banner-logo {
  max-width: 48px;
  height: auto;
  margin-right: 0.5rem;
}

.about-banner-text {
  font-size: 1.4rem;
  color: #a0522d;
  white-space: nowrap;
}

.disp-number.form-select {
    display: none;
}

/* new itemの文字色変更*/
.ec-newItemRole__listItemTitle,.ec-newItemRole__listItemPrice,.ec-shelfGrid__item {
    color: #654231;
}
.ec-numberInput{
    color:#198754;
}


/*Drawerカスタマイズ*/
.ec-drawerRole,.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item{
background:#654231;
font-family: 'Hannari', serif !important;
}

.ec-newItemRole__listItem img ,.ec-shelfRole img{
    width: 96%;
    aspect-ratio:1/1;           
    object-fit: cover;       
    object-position: center;  
    border-radius: 8px;    
    gap:12px;
    transition: transform 0.4s ease;

}
.ec-newItemRole__listItem img:hover ,.ec-shelfRole img:hover{
    transform: scale(1.05);

}

/* ギャラリー */
.modern-gallery {
    padding: 20px;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}

.gallery-item img {
    width: 96%;
    height: auto;
    display: block;
    border-radius: 8px;
}
.gallery-item img:hover {
    transform: scale(1.05);
}

/* 検索バー */
.search_bar {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px auto;
    width: auto;
}

/* ヘッダーナビゲーション */
.ec-headerNaviRoles {
    margin: 0 auto;
    padding: 5px 60px 0;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.4;
    color: #d2781e87;
    -webkit-text-size-adjust: 100%;
}

/* ロゴ */
.customLogo,
.Logo-img {
    max-width: 140px;
    margin: 0 auto;
    text-align: center;
}


/* カスタムヘッディング */
.custom-heading {
    text-align: center;
    margin: 60px 0 40px;
    position: relative;
}

.custom-heading__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

.custom-heading__row img {
    max-width: 80px;
    height: auto;
}

.custom-heading__text {
    text-align: left;
}

.custom-heading__ja {
    display: block;
    font-size: 32px;
    letter-spacing: 4px;
    color: #b8860b;
    font-weight: bold;
}

.custom-heading__en {
    display: block;
    font-size: 1rem;
    color: #b8860b;
    font-weight: bold;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .ec-headerNaviRoles{
        display: none;
    }
    .ec-sliderRole {
        margin: 0 auto;
        padding:0;
        max-width:100%;}
    

    .ec-headerNaviRoles {
        flex-direction: column;
        align-items: center;
        padding: 5px 20px;
    }

    .ec-headerNaviRole__left {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .customLogo {
        display: flex;
        justify-content: center;
        margin: 0 auto;
    }

    .customLogo img {
        display: block;
        margin: 0 auto;
        width: 150px;
        height: auto;
    }
    .customLogo, .Logo-img{
        max-width:140px;
    }

    .ec-headerRole__navSP {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .ec-headerRole__navSP > * {
        text-align: center;
    }

    .ec-headerNaviRole__right {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
        padding: 0 40px;
    }

    .ec-headerNaviRole__nav,
    .ec-headerRole__cart {
        display: inline-block;
    }
    
    .custom-heading{
        margin: 30px 0 20px;
    }

    .custom-heading__row img {
        max-width: 4rem;
        height: auto;
    }

    .custom-heading__ja {
        font-size: 24px;
    }

    .custom-heading__en {
        font-size: 1rem;
    }

    .ec-categoryRole__list {
        gap: 8px;
        padding: 0 10px;
    }

    .ec-categoryRole__listItem {
        flex: 0 0 calc(50% - 4px);
        max-width: calc(50% - 4px);
        min-width: auto;
    }

    .ec-categoryRole__listItem img {
        border-radius: 2px;
    }

    .search_bar {
    display: none;
}
}

/* ── category.css ── */

/* コンテナ */
#cate_list {
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* グリッド：SPは2カラム */
.cate-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}

/* PC：4カラム */
@media (min-width: 768px) {
  .cate-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* カード全体 */
.cate-item {
  position: relative;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* ホバー時カード浮上 */
.cate-item:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* 画像 */
.cate-item img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* ホバー時画像ズーム */
.cate-item:hover img {
  transform: scale(1.05);
}

/* オーバーレイ */
.cate-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15); /* 常に少し暗め */
  transition: background 0.4s ease;
}

.cate-item:hover::before {
  background: rgba(0, 0, 0, 0.35); /* ホバー時にじわっと暗くなる */
}


/* カード内リンク全体をクリック可能に */
.cate-item a {
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}

/* タイトルテキスト：常に表示 */
.cate-item h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0.75rem;
  font-size: 1.125rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6);
  /* transform を外して、常に表示 */
}

/* （不要になったので削除） */
/* .cate-item:hover h3 { transform: translateY(0); } */
/* 480px 以下の調整 */
@media (max-width: 480px) {
  /* グリッド：SP小画面でも2カラム */
  .cate-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  /* カード内画像を横長気味に */
  .cate-item img {
    height: 100px;    /* 高さを小さくして横長に */
  }

  /* タイトルのパディングも若干圧縮 */
  .cate-item h3 {
    padding: 0.5rem;
    font-size: 1rem;
  }
}



@media only screen and (min-width: 768px) {

        .ec-newItemRole .ec-newItemRole__list{
            flex-wrap: wrap;}
            
        .about_SP{
        display: none;}
    .ec-newItemRole .ec-newItemRole__listItem:nth-child(odd),    .ec-newItemRole .ec-newItemRole__listItem:not(:last-of-type) 
 {
        margin-right: 0;
        
    }
}

.ec-blockBtn--action ,.ec-blockBtn--cancel{
    border-radius:8px;
}
/* PC・SP共通 - ヘッダー追尾対象 */
.ec-headerNaviRoles,
.ec-headerNaviRole__center {
    left: 0;
    right: 0;
    z-index: 1000;

}

 @keyframes slideFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ec-headerNaviRoles.scrolled,.sp-header.scrolled {
    position: fixed !important;
    top: 36px;  
    background: #fff; 
    box-shadow: 0 2px 0px rgba(0, 0, 0, 0.1);
    animation: slideFadeIn 0.6s ease forwards;
    z-index: 1000;
}
.sp-header.scrolled{
    width: 100%;
}

/* centerナビも固定するが、Rolesの下に来るよう top を調整 */
.ec-headerNaviRole__center.scrolled {
    position: fixed !important;
    top: 0;  /* Rolesの高さに合わせて調整（必要ならJSと連動も可） */
    max-width: 100vw;
    animation: slideFadeIn 0.6s ease forwards;
}

/* 1200px以下：paddingの調整 */
@media screen and (max-width: 1200px) {
    .ec-headerNaviRoles.scrolled {
        padding: 4px 60px;
    }
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .ec-newItemRole .ec-newItemRole__listItem {
        margin-bottom: 24px;
        /*width: 25%;*/
    }


    .ec-headerNaviRoles.scrolled {
        padding: 5px 20px;
        margin-top: 0;
        align-items: center;
    }

    .ec-headerNaviRoles .ec-headerNaviRole__right {
        margin-top: 0;
    }

    .ec-headerNaviRoles.scrolled .ec-headerNaviRole__left .customLogo {
        display: none;
    }

    .ec-headerNaviRoles.scrolled .ec-headerNavSP {
        transition: transform 0.5s ease;
    }

    .ec-headerNaviRole__center.scrolled {
        top: 0; 
    }
}

/*ページ用カスタムcss*/
        .custom-page {
            max-width: 1200px;
            margin: 0 auto;
            padding: 40px 20px;
        }

        .page-title {
            text-align: center;
            font-size: 2.5em;
            margin-bottom: 40px;
        }

        .main-image {
            text-align: center;
            margin-top: 36px;
        }

        .main-image img {
            max-width: 100%;
            height: auto;
            border-radius: 10px;
        }

        .section {
            flex-wrap: wrap;
            align-items: center;
            margin-bottom: 60px;
        }

        .section .image,
        .section .text {
            flex: 1 1 50%;
            padding: 20px;
        }

        .section .image img {
            width: 100%;
            height: auto;
            border-radius: 10px;
        }

        .section .text h2 {
            font-size: 2em;
            margin-bottom: 20px;
        }

        .section .text p {
            font-size: 1.1em;
            line-height: 1.6;
        }

        /* レイアウトの切り替え */
        .layout-left-image .image {
            order: 1;
        }

        .layout-left-image .text {
            order:1;
        }

        .layout-right-image .image {
            order: 2;
        }

        .layout-right-image .text {
            order: 1;
        }

    /* レスポンシブ対応 */
    @media (max-width: 768px) {

        
    .section {
        display: flex;
        flex-direction: column;
    }

    .section .image,
    .section .text {
        flex: 1 1 100%;
        padding: 10px;
    }

    /* 各要素の順序を明示的に指定 */
    .section .text .h2-container {
        order: 1; /* タイトルが最初 */
        width: 82vw;
    }

    .section .image {
        order: 2; /* 画像が次 */
    }

    .section .text .custom-texter {
        order: 3; /* 本文が最後 */
    }

    /* タイトルや本文以外の汎用設定 */
    .page-title {
        font-size: 2em;
    }

    .section .text h2 {
        font-size: 18px;
    }

}

        
.header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #fff 34%, #f8b500 100%);
  padding: 1.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  margin: 1rem 0;
}

.header-container-simple{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1rem 0;
}

.h2-container{
    font-size: 2rem;
    color: #8B4513;
    text-align: center;
    background: linear-gradient(135deg, #f8f8e6 30%, #ffc232 100%);
    padding: 1rem;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
    
}

.custom-texter{
    font-size: 1rem;
    color: #333333;
    line-height: 1.6;
    margin-top: 1rem;
}

.header-logo {
  max-width: 80px;
  height: auto;
}

.header-title {
    font-weight: bold;
  font-size: 2rem;
  color: #a0522d;
  margin: 0;
}
.bannar-wrapper{
    margin: 2rem 0;
    width: 100%;
}
.bannar-wrapper img{
    max-width: 100%;
    
}
    .line-height{
       padding-top:1rem;
    }
    
.shipping-fee-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            border: solid #e0e0e0 2px;
    }

        .shipping-fee-table th,
        .shipping-fee-table td {
            padding: 12px 16px;
            text-align: left;
            border-bottom: 1px solid #e0e0e0;
        }

        .shipping-fee-table th {
            background-color: #f8f9fa;
            font-weight: bold;
            color: #333;
            border-bottom: 2px solid #dee2e6;
        }

        .shipping-fee-table tr:nth-child(even) {
            background-color: #f8f9fa;
        }

        .shipping-fee-table tr:hover {
            background-color: #e3f2fd;
        }

        .prefecture-col {
            width: 80%;
        }

        .fee-col {
            width: 20%;
            text-align: right;
            font-weight: bold;
            color: #d32f2f;
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .fee-col {
            white-space: nowrap;}
            .shipping-fee-table {
                font-size: 12px;
            }
            
            .shipping-fee-table th,
            .shipping-fee-table td {
                padding: 8px 12px;
            }
        }

        /* 特定商取引法用メインテーブル */
        .tokusho-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            border: solid #e0e0e0 2px;
        }
        
        .tokusho-table th,
        .tokusho-table td {
            padding: 12px 16px;
            text-align: left;
            border-bottom: 1px solid #e0e0e0;
        }
        
        .tokusho-table th {
            background-color: #f8f9fa;
            font-weight: bold;
            color: #333;
            border-bottom: 2px solid #dee2e6;
            width: 30%;
        }
        
        .tokusho-table td {
            width: 70%;
            border-bottom: 2px solid #dee2e6;
        }
        
        .tokusho-table tr:nth-child(even) {
            background-color: #f8f9fa;
        }
        
        .tokusho-table tr:hover {
            background-color: #e3f2fd;
        }
        
        /* 項目名と内容の列幅調整 */
        .tokusho-item-col {
            width: 30%;
        }
        
        .tokusho-content-col {
            width: 70%;
            background: #fff;
        }
        
        /* レスポンシブ対応 */
        @media (max-width: 768px) {
            .tokusho-table {
                font-size: 12px;
            }
            
            .tokusho-table th,
            .tokusho-table td {
                padding: 8px 12px;
            }
            
            .tokusho-item-col {
                width: 35%;
            }
            
            .tokusho-content-col {
                width: 65%;
            }
        }

        /* Twigテンプレート用のコメント表示 */
        .twig-comment {
            background-color: #fff3cd;
            border: 1px solid #ffeaa7;
            padding: 15px;
            margin: 20px 0;
            border-radius: 4px;
            font-family: 'Courier New', monospace;
            font-size: 14px;
            color: #856404;
        }
        
            
        .shipping-fee-table tbody td {
        font-size: 12px;
        }
        .custom-heading__row {
        
            background: #f8f8f4;
        }
        .guide-container {
            max-width: 1100px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ヘッダー */
        .guide-header {
            background-color: #fff;
            padding: 40px 0;
            text-align: center;
            border-bottom: 1px solid #e0e0e0;
        }

        .guide-header .main-title {
            font-size: 1.8rem;
            font-weight: bold;
            color: #883e1a;
            margin-bottom: 20px;
            letter-spacing: 0.1em;
        }
        .guide-section-header .sub-title {
            font-size: 1.4rem;           
            font-weight: bold;
            color: #883e1a;
            letter-spacing: 0.1em;
            margin-bottom: 1rem;            
            border-left: 6px solid #883e1a;
            padding-left: 0.8rem;
            background-color: #ffffe8;    
            line-height: 1.5;

        }

        .guide-header .title-decoration {
            color: #883e1a;
            font-size: 1.2rem;
            font-weight: bold;
        }

        /* メインコンテンツ */
        .guide-main-content {
            background-color: #fff;
            margin-bottom: 40px;
            border-radius: 8px;
            overflow: hidden;
        }

        .guide-section {
            padding: 40px;
        }

        .guide-section:last-child {
            border-bottom: none;
        }

        /* セクション見出し */
        .guide-section-header {
            display: flex;
            align-items: center;
            margin-bottom: 20px;
        }

        .guide-section-header .section-number {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            background-color: #883e1a;
            color: white;
            font-weight: bold;
            font-size: 1rem;
            border-radius: 8px;
            margin-right: 12px;
            flex-shrink: 0;
        }

        .guide-section-header .section-title {
            font-size: 1.2rem;
            font-weight: bold;
            color: #333;
            line-height: 1.6;
            margin:0;
        }

        /* セクション内容 */

        .guide-section-content p {
            font-size: 14px;
            line-height: 1.8;
            color: #555;
        }

        .guide-section-content .highlight {
            color: #883e1a;
            font-weight: bold;
        }


        .guide-section-content .link:hover {
            color: #cc8a27;
        }

        .guide-nav {
        top: 0;
        background: #fff;
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        padding: 2rem 0;
        justify-content: center;
        margin: 0 auto;
        max-width: 800px;
        }

        .guide-nav button {
        width: 42%;
        max-width: 200px;
        padding: 1rem 0;
        background-color: #883e1a;
        border: 1px solid #ccc;
        font-size: 0.9rem;
        border-radius: 8px;
        cursor: pointer;
        color: white;
        }

        .guide-nav button:hover {
        background-color: #c6a89a;
        }

        /* レスポンシブデザイン */
        @media (max-width: 768px) {

            .guide-nav {
            font-size: 0.8rem;
            justify-content: center;
            }
            .guide-container {
                padding: 0 15px;
            }

            .guide-header .main-title  {
                font-size: 1.5rem;
            }

             .guide-section-header .sub-title  {
                font-size: 1.2rem;
            }

            .guide-section {
                padding: 30px 20px;
            }

            .guide-section-header {
                display: flex;
                align-items: center;
            }

            .guide-section-header .section-number {
                margin-right: 12px;
            }

            .guide-section-header .section-title {
                font-size: 20px;
            }

            .guide-section-content {
                margin-left: 0;
            }

        }

        @media (max-width: 480px) {
            .guide-header .main-title {
                font-size: 1.8rem;
            }

            .guide-section {
                padding: 20px 15px;
            }

            .guide-section-header .section-title {
                font-size: 1rem;
            }

            .guide-section-content p {
                font-size: 0.85rem;
            }
        }
        
@media only screen and (min-width: 768px) {
    .ec-newItemRole .ec-newItemRole__listItemTitle {
        margin: 8px 0 4px;
    }
    .ec-newItemRole .ec-newItemRole__listItem {
        margin-bottom: 32px;
        width: 25%;
    }
}


/*Q and A*/

  .width100{
      width: 100%;
  }
  .faq-block .faq-01 .accordion__wrap .accordion-wl-body {
    border-top: none;
}
  .accordion__wrap{
    padding-bottom:30px;
  }
.pb-30,.mb-40{
    margin: 30px 0;
}
.faq-block .faq-01 .section__title h2{
    font-size: 30px;
}

@media (min-width: 1200px) {
    .faq-block .faq-01 .col-xl-6 {
        flex: 0 0 auto;
        width: 90%;
        margin:0 auto;
        padding: 2.5rem;
        
    }
}
@media (min-width: 992px) {
    .faq-block .faq-01 .col-lg-7 {
       flex: 0 0 auto;
        width: 80%;
        margin:0 auto;
        padding: 2.5rem;
    }
}
  .faq-block .faq-01 .section__title h2{
      text-align: center;
  }
  .faq-block .faq-01 .accordion__wrap .accordion-wl-body {
    border-bottom-left-radius: 0; 
    border-bottom-right-radius: 0;
}
.faq-block .faq-01 .accordion__wrap .accordion-wl-item .accordion-wl-header .accordion-wl-button

 {
    background: transparent;
    border-radius: none;
    background: linear-gradient(90deg, rgba(26, 77, 190, 0.05) 0%, rgba(174, 94, 190, 0.05) 100%);
  }
  .faq-block .faq-01 {
    --faq1-block-primary-color1: #fff;
    --faq1-block-primary-color3:orange;
    --faq1-block-primary-color4: #8e5d1d;
}
  .faq-block .faq-01 .accordion__wrap .accordion-wl-body{
      overflow: hidden;
      background: #fff;
  }
  .accordion-wl-collapse {
      max-height: 0;
      opacity: 0;
      overflow: hidden;
      transition: max-height 0.5s ease, opacity 0.5s ease, transform 0.5s ease;
      transform: translateY(-10px);
  }
  
  .accordion-wl-collapse.show {
      max-height: 500px; /* 内容によって調整 */
      opacity: 1;
      transform: translateY(0);
  }
  .faq-block .faq-01 .accordion__wrap .accordion-wl-item .accordion-wl-header .accordion-wl-button {
    background: linear-gradient(90deg, rgba(255, 255, 190, 0.3) 50%, rgba(255, 255, 255, 0.05) 100%);
}
.faq-block .faq-01 .title {
    color: #a0522d;
}