/* Home */
#home {
    position: relative;
}

/* Home */
#home .carousel {
    padding-top:  120px;
}


#home .carousel .carousel-item {
    height: auto;
}

#home .carousel .slick-dots {
    display: flex! important;
}

/* Home_category カテゴリ別　商品一覧 */
#home_category {
    background-color: #fdf4f4;
    text-align: center;
    background-size: cover;
}

/* トップ画像　幅設定 */
#home_category .overlay {
    padding: 60px 0px;
}


/* Warning */
#warning .warning {
    max-width: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    margin-top: 5px; 
    margin-bottom: 20px;
    padding: 0px 30px;
    border: 1px solid #707070;
    border-radius: 20px;
}

.warning .img {
    width: 50px;
}

.warning .img img {
    width: 100%;
}

.warning .content ul {
    color: red;
}

.warning .content a {
    color: red;
    font-size: 20px;
    text-decoration: none;
}

.warning .content a:hover {
    text-decoration: underline;
}


/* index：Top SEO Intro と Warning の間隔調整 */
#warning .container {
    padding-top: 0;
}


#warning .warning {
    margin-top: 10px;
}

/* Sale Information */
#saleinformation {
    background-color: #fdf4f4;
}

#saleinformation .title {
    text-align: center;
}

#saleinformation .ads {
    margin-bottom: 30px;

    display: flex;
    justify-content: space-between;
}

.ads .item {
    width: 47%;
    text-align: center;
}

.ads .item:hover {
    opacity: 0.8;
}

.ads .item .desc {
    color: darkgray;    /*sale info テキスト*/
    margin-top: 40px;
}

.ads .item img {
    max-width: 500px;
    width: 95%;
    vertical-align: bottom;
}

.ads .clinic {
    background-color: #f2eee4;
    background-size: 101%;
    border: 2px solid #d4dcda;
    border-radius: 10px;
    padding-bottom: 20px;

}

.ads .sauna {
    background-color: #f4efed;
    background-size: 101%;
    border: 2px solid #d4dcda;
    border-radius: 10px;
    padding-bottom: 20px;
}

#saleinformation .category {
    background-color: #f3f4ed;
    border: 2px solid #d4dcda;
    border-radius: 10px;
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 20px 50px;
}

.category-group {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.category-group .item img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    vertical-align: bottom;
    object-fit: cover;
}

.category-group .item img:hover {
    opacity: 0.8;
}

.category-group .item {
    margin: 0px 5px 20px 5px;
}

.category .category-group {
    margin-top: 30px;
}

.category .category-group .item {
    width: 23%;
}


/* Goods */
#goods .collections .category-group .item {
    width: 47%;
}

#goods .collections .category-group .item img {
    box-shadow: #c1c1c1 5px 5px 6px;
}

#goods .seasonalgoods .category-group .item {
    width: 30%;
}


/* Slide 編集*/

#slider {
    background-color: #F5FFFA;
}

#slider .repickup {
    padding-top: 30px;
    padding-bottom: 30px;
}

#slider .repickup .title {
    text-align: center;
}

.repickup .item {
    margin: 0px 20px;
}

.repickup .item a {
    color: #707070;
}

.repickup .item .item-img img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}

.repickup .item .item-img img:hover {
    opacity: 0.8;
}

.repickup .item .item-desc {
    margin-top: 5px;
}

.repickup .item .item-desc p {
    margin-top: 0px;
    font-size: 14px;
}





/* Brand */
#brand {
    background-color: #fdf4f4;
}

#brand .brand-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    border-radius: 20px;
    margin-bottom: 30px;
}

.brand-item .item-img {
    width: 57%;
}

.brand-item .item-img img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    vertical-align: bottom;
}

.brand-item .item-desc {
    padding: 0px 45px;
    width: 43%;
}

.brand-item .item-desc p {
    font-size: 14px;
}

.brand-item .item-btn {
    text-align: center;
    margin-top: 35px;
}

.brand-item .item-btn .btn-circle:after {
    content: "\f101";
    font-size: 16px;
    margin-left: 10px;
}

#brand .pickup {
    padding-bottom: 30px;
}

#brand .pickup .title {
    text-align: center;
}

.pickup .item {
    margin: 0px 20px;
}

.pickup .item a {
    color: #707070;
}

.pickup .item .item-img img {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}

.pickup .item .item-img img:hover {
    opacity: 0.8;
}

.pickup .item .item-desc {
    margin-top: 5px;
}

.pickup .item .item-desc p {
    margin-top: 0px;
    font-size: 14px;
}

/* Products */
#products .category-group .item {
    width: 30%;
    border-radius: 20px;
}

#products .category-group .item .inner {
    position: relative;
    padding-bottom: 175px;
}

#products .category-group .inner .item-img img {
    border-radius: 20px 20px 0px 0px;
} 
#products .category-group .item img:hover {
    opacity: 1;
}

#products .category-group .inner .item-desc {
    position: absolute;
    background-color: #f4f0ec;
    border-radius: 0px 0px 20px 20px;
    min-height: 175px;
    padding: 20px 20px 10px 20px;
    bottom: 0px;
    transition: 0.3s;
    cursor: pointer;
}

#products .category-group .inner .item-desc ul {
    display: none;
}

#products .category-group .inner .item-desc-active {
    min-height: calc(100% - 80px);
    transition: 0.3s;
}

#products .category-group .inner .item-desc-active p {
    display: none;
}

#products .category-group .inner .item-desc-active ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0px;
}

#products .category-group .inner .item-desc-active ul li{
    margin-bottom: 5px;
    width: 100%;
    text-align: center;
}

#products .category-group .inner .item-desc-active ul li a {
    position: relative;
    font-family: 'FontAwesome';
    color: #707070;
}

#products .category-group .inner .item-desc-active ul li a:hover {
    text-decoration: underline;
}

#products .category-group .inner .item-desc-active ul li a:before {
    position: absolute;
    content: "\f105";
    top: -1px;
    left: -13px;
}

#products .category-group .inner .item-desc:hover {
    padding-bottom: 20px;
}

#products .category-group .inner .item-desc:after{
    content: '';
    position: absolute;
    bottom: 99%;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 26px;
    background: url(../image/home/products_bg_block.png) 50% 0 no-repeat;
    background-size: contain;
}

#products .category-group .inner .item-desc .toggle {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 1;
    transform: translate(-50%, -100%);
    width: 18px;
    height: 18px;
    pointer-events: none;
}

#products .category-group .inner .item-desc .toggle:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(180deg);
    width: 14px;
    height: 2px;
    background-color: #3e3a39;
    transition: transform .3s ease;
}

#products .category-group .inner .item-desc .toggle:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 14px;
    height: 2px;
    background-color: #3e3a39;
    transition: transform .3s ease;
}

#products .category-group .inner .item-desc-active .toggle:after {
    display: none;
}

#products .category-group .inner .item-desc .header {
    font-size: 18px;
    text-align: center;
}

#products .category-group .inner .item-desc p {
    font-size: 14px;
}

#products .sm-category {
    display: none;
    background-color: #f4f0ec;
    padding: 20px 0px;
}

#products .sm-category ul {
    list-style: none;
}

#products .sm-category ul li {
    margin-bottom: 5px;
}

#products .sm-category ul li a{
    color: #707070;
}

/* OtherContent */
#content {
    background-color: #fdf4f4;
}

#content .other .category-group {
    margin-bottom: 40px;
}

#content .other .category-group .item {
    width: 30%;
}


#content .other-category {
    text-align: center;
    margin-bottom: 30px;
}

#content .other-category img {
    max-width: 97%;
    border-radius: 20px;
}

#content .other-category img:hover {
    opacity: 0.8;
}

#content .special .category-group .item {
    background-color: white;
    color: #707070;
    border-radius: 20px;
    width: 47%;
}

#content .special .category-group .item img {
    border-radius: 20px 20px 0px 0px;
}

#content .special .category-group .item .item-desc {
    padding: 20px 20px;
    color: #707070;
}

#content .special .category-group .item .item-desc .desc {
    font-size: 14px;
}

#content .special .category-group .item .item-btn {
    max-width: 250px;
    margin: auto;    
}

#content .special .item .item-btn .btn-circle:after {
    content: "\f101";
    font-size: 16px;
    margin-left: 10px;
}

/* News */
#news .news-group {
    border-bottom: 1px solid #707070;
}

#news .news-group .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    border-top: 1px solid #707070;
    padding: 15px 0px;
}

#news .news-group .btn {
    padding: 7px 0px;
}

#news .news-group .item .item-btn {
    width: 175px;
    margin-right: 25px;
}

#news .news-group .item .item-date {
    margin-right: 30px;
}

#news .btn-group {
    display: flex;
    justify-content: space-around;
    margin-top: 50px;
}

#news .btn-group .item {
    max-width: 250px;
    width: 30%;
}

#news .btn-group .btn {
    width: 100%;
}

#news .btn-group .btn-circle:after {
    content: "\f101";
    font-size: 16px;
    margin-left: 10px;
}

#news .category-group {
    margin-top: 50px;
}

#news .category-group .item {
    width: 23%;
}

#news .special .item img {
    border-radius: 20px;
    width: 100%;
}

#news .special .item img:hover {
    opacity: 0.8;
}



/* Responsive */
@media screen and (max-width: 1024px){
    /* Products */
    #products .category-group .item {
        width: 47%;
    }

    #products .category-group .item .inner {
        padding-bottom: 153px;
    }
}

@media screen and (max-width: 768px) {
    /* Warning */
    #warning .warning {
        padding: 0px;
        border-radius: 10px;
    }

    .warning .img {
        width: 30px;
    }

    .warning .content a {
        font-size: 12px;
    }

    /* Sale Information */
    #saleinformation .ads {
        display: block;
    }

    .ads .item {
        width: 100%;
        margin-bottom: 30px;
    }

    .ads .item .desc {
        font-size: 14px;
    }

    #saleinformation .category {
        padding: 20px 20px;
    }

    .category-group .item {
        width: 47%;
        margin: 0px 3px 15px 3px;
    }

    .category-group .item img {
        border-radius: 10px;
    }

    /* Brand */
    #brand {
        position: relative;
    }

    .brand-item .item-img {
        width: 100%;
    }

    .brand-item .item-img img {
        border-radius: 10px 10px 0px 0px;
    }

    .brand-item .item-desc {
        width: 100%;
        padding: 0px 20px;
    }

    .brand-item .item-desc p {
        font-size: 12px;
    }
    
    .brand-item .item-btn {
        text-align: center;
        margin-top: 25px;
        margin-bottom: 10px;
    }


    .pickup .item .item-desc span {
        font-size: 14px;
    }

    .pickup .item .item-desc p {
        font-size: 12px;
    }

    /* Products */
    #products .category-group .item {
        width: 100%;
        margin: 0px 0px 10px 0px;
        cursor: pointer;
    }

    #products .category-group .item .inner {
        display: flex;
        align-items: center;
        padding-bottom: 0px;
        background-color: #f4f0ec;
        border-radius: 10px;
    }

    #products .category-group .item .inner-active {
        border-bottom-right-radius: 0px;
    }

    #products .category-group .inner-active .item-desc .toggle:after {
        display: none;
    }

    #products .category-group .item .inner .item-img {
        width: 100px;
        margin-right: 15px;
    }

    #products .category-group .inner .item-img img {
        border-radius: 10px 0px 0px 10px;
    }
    #products .category-group .inner .item-desc {
        position: static;
        padding: 0px;
        min-height: 0px;
        pointer-events: none;
    }

    #products .category-group .inner .item-desc:hover {
        padding-bottom: 0px;
    }
    
    #products .category-group .inner .item-desc:after {
        display: none;
    }
    
    #products .category-group .inner .item-desc .toggle {
        left: 94%;
        top: 70%;
    }

    #products .category-group .inner .item-desc-active ul{
        display: none;
    }

    #products .category-group .inner .item-desc .header {
        font-size: 12px;
    }

    #products .category-group .inner .item-desc p {
        display: none;
    }

    /* Content */
    #content .other .category-group .item {
        width: 47%;
    }

    #content .special .category-group .item .item-desc .desc {
        font-size: 12px;
    }

    /* News */
    #news .category-group .item {
        width: 47%;
    }

}

@media screen and (max-width: 425px) {

    /* Home */
    #home .carousel {
        padding-top:  120px;
    }

    #home .carousel .carousel-item {
        height: auto;;
        
    }

    /* Sale Information */
    .category .category-group .item {
        width: 47%;
    }

    /* Goods */
    #goods .collections .category-group .item {
        width: 100%;
    }

    #goods .seasonalgoods .category-group .item {
        width: 100%;
    }

    /* Brand */
    #brand .brand-item {
        display: block;
        border-radius: 10px;
        padding-bottom: 20px;
    }

    .pickup .item .item-img img {
        border-radius: 10px;
    }

    #content .special .category-group .item {
        width: 100%;
    }

    /* News */
    #news .news-group .item .item-desc {
        font-size: 14px;
    }
    
    #news .btn-group .item .btn-circle {
        font-size: 10px;
        border-radius: 6px;
        padding: 5px 10px;
    }

    #news .btn-group .item .btn-circle:after {
        display: block;
        margin: 0px;
    }

    #news .special .item img {
        border-radius: 10px;
    }
}


/* ================================
   Sale Information 専用・遮断パッチ
   ================================ */

/* グリッドの土台（PC=3列） */
#saleinformation .ads-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px !important;
  justify-content:center !important;
  align-items:stretch !important;
  grid-auto-flow:row !important;
  box-sizing:border-box;
  isolation:isolate;             /* 他のコンテキストから独立 */
}
#saleinformation .ads-grid *{ box-sizing:border-box; }

/* ここが肝：グローバルな .item / .carousel / .owl 等の影響を断ち切る */
#saleinformation .ads-grid .item{
  /* 位置・表示モデルの強制リセット */
  position:relative !important;
  display:block !important;
  float:none !important;
  clear:none !important;
  /* 幅関連：列を押し広げさせない */
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  /* フレックス指定の巻き込みを無効化 */
  flex:none !important;
  /* はみ出し保険 */
  overflow:hidden;
  text-align:center;
}

/* aや内側divが横幅を主張しないよう徹底 */
#saleinformation .ads-grid .item > a{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
#saleinformation .ads-grid .item > a > div{
  width:100% !important;
  min-width:0 !important;
}

/* テキストによる横押しを禁止 */
#saleinformation .ads-grid .item,
#saleinformation .ads-grid .item *{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  min-width:0 !important;
  max-width:100% !important;
}

/* 画像・メディアは必ず列幅内に収める */
#saleinformation .ads-grid .item img,
#saleinformation .ads-grid .item svg,
#saleinformation .ads-grid .item canvas,
#saleinformation .ads-grid .item video{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  vertical-align:bottom;
  object-fit:contain;
}

/* カード外観（既存 clinic/sauna を踏襲） */
#saleinformation .ads-grid .clinic,
#saleinformation .ads-grid .sauna{
  background-size:101%;
  border:2px solid #d4dcda;
  border-radius:10px;
  padding-bottom:20px;
}
#saleinformation .ads-grid .clinic{ background-color:#f2eee4; }
#saleinformation .ads-grid .sauna { background-color:#f4efed;  }


#saleinformation .ads-grid .item .desc{
  color:#707070;
  margin:0;
  padding:12px 0 8px;
}

#saleinformation .ads-grid .desc h3{
  margin:0 0 6px 0;
  line-height:1.35;
}

#saleinformation .ads-grid .desc p{
  margin:0;
  line-height:1.6;
}


/* PCの奇数バランス：余り1は中央、余り2は左右 */
#saleinformation .ads-grid .item:nth-last-child(1):nth-child(3n+1){ grid-column:2; }
#saleinformation .ads-grid .item:nth-last-child(2):nth-child(3n+1){ grid-column:1; }
#saleinformation .ads-grid .item:nth-last-child(2):nth-child(3n+1)+.item{ grid-column:3; }

/* タイポ（このセクションだけ控えめ） */
#saleinformation{ font-size:0.95rem; }
#saleinformation .title .header{ font-size:clamp(20px,2.2vw,28px); line-height:1.2; }
#saleinformation .title .label { font-size:clamp(12px,1.4vw,16px); line-height:1.3; }
#saleinformation .ads-grid .desc h2{
  font-size:clamp(15px,1.6vw,20px);
  line-height:1.35;
  margin:0.3em 0 0;
}

/* ===== 768px以下：2列＋押し広げ完全封じ ===== */
@media (max-width:768px){
  #saleinformation .ads-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
  }

  /* 絶対配置のステッカー/バッジをリキッド化（固定幅を無力化） */
  #saleinformation .ads-grid .item > a [style*="position:absolute"],
  #saleinformation .ads-grid .item > a .badge,
  #saleinformation .ads-grid .item > a .sticker,
  #saleinformation .ads-grid .item > a .label,
  #saleinformation .ads-grid .item > a .ribbon,
  #saleinformation .ads-grid .item > a .tag{
    position:absolute !important;
    width:clamp(80px,40%,180px) !important;
    max-width:40% !important;
    height:auto !important;
    min-width:0 !important;
  }
  /* 固定pxのオフセットを%に寄せる（保険） */
  #saleinformation .ads-grid .item > a [style*="right:"] { right:3% !important; }
  #saleinformation .ads-grid .item > a [style*="left:"]  { left: 3% !important; }
  #saleinformation .ads-grid .item > a [style*="bottom:"]{ bottom:3% !important; }
  #saleinformation .ads-grid .item > a [style*="top:"]   { top:   3% !important; }

  /* 奇数（余り1）は最後1枚を中央1表示（ぶち抜き） */
  #saleinformation .ads-grid .item:nth-last-child(1):nth-child(2n+1){
    grid-column:1 / -1 !important;
    justify-self:center !important;
  }

  #saleinformation{ font-size:0.9rem; }
  #saleinformation .ads-grid .desc h2{ font-size:clamp(14px,2.8vw,18px); }
}

/* ≤425px：余白さらに控えめ */
@media (max-width:425px){
  #saleinformation .ads-grid{ gap:16px !important; }
  #saleinformation{ font-size:0.88rem; }
}



/* =========================
   カード内レイアウト安定化
   ========================= */

/* カード全体を縦レイアウトにする */
#saleinformation .ads-grid .item > a{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

/* テキスト部分は上 */
#saleinformation .ads-grid .item .desc{
  flex:0 0 auto !important;
}

/* 画像ブロックを必ず下へ押し込む */
#saleinformation .ads-grid .item > a > div:last-child{
  margin-top:auto !important;
}

/* 念のため画像の余白を除去 */
#saleinformation .ads-grid .item img{
  display:block;
}



/* =========================
   カテゴリカード テキストデザイン Sale Information
   ========================= */


.category-heading{
    width:90%;
    max-width:1000px;
    margin:30px auto 20px;
    font-size:22px;
    color:#707070;
    font-weight:600;
}
.ads-grid .desc{
    padding:10px 0 5px;
}
.ads-grid .desc h3{
    font-size:16px;
    color:#707070;
    margin-bottom:6px;
}
.ads-grid .desc p{
    font-size:14px;
    color:#707070;
    line-height:1.6;
}


/* =========================
	 Top SEO Intro (inline)
   ========================= */


    #top-intro{
        padding:40px 0 10px;
        background:#fff;
        text-align:left;
    }

    #top-intro .container{
        width:90%;
        max-width:1000px;
    margin-top:0;
    margin-bottom:0;
    margin-left:auto;
    margin-right:auto;
    }

    #top-intro .top-h1{
        font-size:26px;
        font-weight:700;
        line-height:1.5;
        margin-bottom:20px;
        color:#707070; /* 統一 */
    }

    #top-intro .top-intro-text{
        font-size:15px;
        line-height:1.9;
        color:#707070; /* 統一 */
    }

    /* スマホ */
    @media screen and (max-width:768px){
        #top-intro{
            padding:30px 0 1fv
0px;
        }
        #top-intro .top-h1{
            font-size:20px;
        }
        #top-intro .top-intro-text{
            font-size:14px;
        }
    }
