
html,
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: normal;
  background-color: #FFF;
  color: #333;
  overflow-x: hidden;
}

/* Reveal up animation */
.reveal-up {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}
.reveal-up.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
/* 新生活：要素ごとに少しずつ遅らせてふわっと出す */
.shinseikatu-reveal-1{
  transition-delay: 0.05s;
}
.shinseikatu-reveal-2{
  transition-delay: 0.15s;
}
.shinseikatu-reveal-3{
  transition-delay: 0.25s;
}
.wave-toreloop_naminami.reveal-up {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .reveal-up {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* テキスト */
.price {
  font-family: "Akshar", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.suuji{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
header{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    background-color: #ffffff;
}
header img{
  width:100%;
  margin: 0 auto;
  display: block;
}

/* ヘッダー固定：スクロール中のみ上部固定 */
header.header-fixed{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    z-index: 100;
}
body.has-fixed-header{
    padding-top: var(--header-height, 0px);
}






/* SP/PC 画像の出し分け */
.pc { display: none !important; }
.sp { display: block !important; }
/* PC追従UIはSPでは非表示 */
.pc-side-menu,
.pc-topback,
.pc-sakura{
    display: none;
}
 

/* リンク */
a:hover {
    opacity: 0.7;
    transition: all 0.3s ease;
}

/* 画面上は非表示（アクセシビリティ対応） */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* メインビジュアル背景（SP） */
.main-visual{
width: 100%;
    overflow: hidden;
    position: relative;
    background-image: url(https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/bcimg1-a.wowma.net/plus/u39188522/pc/collabo_lp/202603/css/../img/mv_mv_background_sp.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 380px;
    text-align: center;
}

/* なみなみ：MVと次セクションの区切り */
.wave-divider{
    width: 100%;
    line-height: 0;
    margin-top: -20px; /* MVの下に少し重ねる */
    position: relative;
    z-index: 1;
}


/* MV内の配置画像 */
.mv_nigiyakashi{/*賑やかし*/
    position: absolute;
    top: -2%;
    left: 5%;
    z-index: 1;
}
.mv_50off{/*50％OFF画像 */
    position: absolute;
    top: 2%;
    left: 5%;
    width: 85%;
    animation: mv-pop 0.7s ease-out both;
    animation-delay: 0.2s;

}
.mv_toreloop{/*トレループ画像 */
    position: absolute;
    top: 40%;
    left: 5%;
    width: 90%;
}
.mv_50off{
    transform-origin: center center;
}
.toreloop-titleimg img,
.higawari-titleimg img,
.pokiri_title_img img,
.shinseikatu-titleimg img{
    transform-origin: center center;
}
.reveal-up.is-revealed .toreloop-titleimg img,
.reveal-up.is-revealed .higawari-titleimg img,
.reveal-up.is-revealed .pokiri_title_img img,
.reveal-up.is-revealed .shinseikatu-titleimg img{
    animation: mv-pop 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
    animation-delay: 0.2s;
}
@keyframes mv-pop {
    0% { transform: scale(0.1) translateY(20px); opacity: 0; }
    60% { transform: scale(1.1) translateY(-6px); opacity: 1; }
    100% { transform: scale(1) translateY(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .mv_50off{
        animation: none;
    }
    .reveal-up.is-revealed .toreloop-titleimg img,
    .reveal-up.is-revealed .higawari-titleimg img,
    .reveal-up.is-revealed .pokiri_title_img img,
    .reveal-up.is-revealed .shinseikatu-titleimg img{
        animation: none;
    }
}
.mv_kikan{/* 期間 */
    position: absolute;
    top: 78%;
    left: 15%;
    width: 75%;
}


/* メインコンテンツ囲み */
.main-area{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    
}


/* クーポンエリア */
.coupon-area{
    padding:5%;
    width: 100%;
    max-width: 600px;
    background-color: #fff;
}
.coupon-title{/* タイトル画像 */
    width: 100%;
    max-width: 540px;
    margin: -20px auto 0;
}
.coupon-linkimages{/*クーポンまとめ */
 
    margin: 3% auto 10%;
    text-align: center;
}
.coupon-linkimages_img{/*クーポンまとめ */
margin-bottom: 10px;
}
.other_coupon{
  width: 100%;  
  margin: 2% auto;


}
.all_coupon{
      display: flex;
  align-items: center;
  justify-content: center;
gap: 3%;
}
.coupon_link_img{
    width: 100%;
    margin-bottom: 5%;
}




/* SALEメニューアンカーリンクエリア */
.sale-menu {
    width: 100%;
    padding:5% 5% 10% 5%;
    margin: -10px auto 0;
    text-align: center;
    background-color:#FFF190;
}
.sale-menu-title{
    width: 100%;
    margin-top:-10px;
}

.sale-menu-linkimage{
    margin: 2% 0 0 0;
}
.sale-menu-2retu{
    display: flex;
  align-items: center;
  justify-content: center;
gap: 3%;
}






/* トレループ半額のなみなみ */
.wave-toreloop_naminami{
    width: 100%;
    margin-top: -10px; /* トレループ半額エリアの上に少し重ねる */
    line-height: 0;
    position: relative;
    z-index: 2;
    opacity: 1;
    transform: none;
}
.wave-toreloop_naminami img{
    display: block;
    width: 100%;
}

/* トレループ半額エリア（左右の背景分割） */
.toreloop-area{
    width: 100%;
  background: linear-gradient(90deg, #F3C1FF  50%, #A8C4FF 50%, #A8C4FF 100%);
  margin: -5px auto 0;
  padding:5% 3% 5% 3%;
  max-width: 900px;
  overflow: visible;
  
}
.toreloop-titleimg{
    width: 100%;
    margin-top: -10px;
    overflow: visible;
}
/* トレループ説明ブロック（左右2カラム） */
.toreloop-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2%;
}
    .toreloop-card{
        padding: 0% 2% 2% 2%;
}

.toreloop-logo{
    width: 90%;
    margin: 8% auto;
}
.toreloop-logo img{
    width: 100%;
    display: block;
}
/* セクション見出しピル */
.toreloop-pill{
    width: 100%;
    border-radius:100px;
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: 0.8rem;
    width: 100%;
    padding: 8px 0px;
    margin: 0 auto 10%;
    letter-spacing: 0.05rem;
}
.toreloop-pill.purple{
    background: #7b4bc4;
}
.toreloop-pill.blue{
    background: #4678C4;
}
.toreloop-items{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2%;
    margin-bottom: 6%;
}
.toreloop-item__title{
    text-align: center;
    font-weight: 500;
    color: #471C82;
    margin: 0 0  5%  0 ;
    font-size: 0.7rem;
}

.toreloop-item__img img{
    width: 100%;
}
.toreloop-way{
    display: flex;
    align-items: center;
    margin:2% auto;
}
.toreloop-badge{
    display: inline-block;
    min-width: 25%;
    text-align: center;
    font-weight: 500;
    border-radius: 999px;
    padding: 2px 0px;
    color: #fff;
    font-size: 0.6rem;
}
.toreloop-badge.blue{
    background: hsl(216, 52%, 52%);
}
.toreloop-way__text{
    font-weight: 500;
    color: #2f4e8a;
    margin: 0 0 0 3%;
    font-size: 0.7rem;
}
.toreloop-way__img{
    margin: 0 0 8px;
}
.toreloop-way__img img{
    width: 100%;
    border-radius: 10px;
}




/* 商品カード（左2枚/右1枚） */
.product-grid{
    margin-top: 16px;
    align-items: stretch;
}
.toreloop-product{
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
}
.toreloop-product.right{
    align-self: stretch;
}
.product-card{
    position: relative;
    background: #fff;
    border-radius: 10px;
    padding: 5%;
    border: 2px solid #8958CC;
    box-shadow: 0 4px 0 #8958CC, 0 4px 8px rgba(0,0,0,0.1);
}
.toreloop-product.left .product-card{
    border-color: #8958CC;
    box-shadow: 0 4px 0 #8958CC, 0 4px 8px rgba(0,0,0,0.1);
}
.toreloop-product.right .product-card{
    border-color: #3c67b6;
    box-shadow: 0 4px 0 #3c67b6, 0 4px 8px rgba(0,0,0,0.1);
}
.product-card.tall{
    flex: 1;
}
.product-title{
    width: 65%;
    text-align: center;
    color: #fff;
    font-weight: 500;
    border-radius: 0 0 8px 8px;
    padding: 2% 3%;
    margin: -6% auto 10px;
    font-size:0.6rem;
}

.product-title.purple{ background: #7b4bc4; }
.product-title.blue{
    width: 100%;
    background: #3c67b6; }
.product-img{
    margin-bottom:5px;
}
.product-img img{
    width: 100%;
    display: block;
}
.product-videimg{
    margin-bottom: 10px;
}
.product-price{
    margin-top: 3px;

}
.product-price__label{
    font-weight: 400;
    color: #585858;
    margin: 0 0 -10px 0;
    font-size: 0.5rem;
}
.product-price__old{
    font-weight: 700;
    color: #585858;
    position: relative;
    display: inline-block;

    font-size: 0.7rem;
}

.product-price__old::after{
    content: "";
    position: absolute;
    left: -4%;
    right: -4%;
    top: 50%;
    height: 1px;
    background: #ff3b7a;
    transform: translateY(-50%) rotate(-10deg);
    transform-origin: center;
}
.product-price__new{
    font-weight: 900;
    color: #ff3b7a;
    font-size: 2.8rem;
    margin-top: -10px;
    font-family: "Akshar", sans-serif;
    letter-spacing: -0.1rem;
}
.product-price__new .price-comma{
    font-size: 1.8rem;
}
.product-price__new span{
    font-size: 1rem;
    margin-left: 2px;
}

.product-price__ship{
    color: #ff3b7a;
    font-weight: 500;
    margin-top: -10px;
    font-size: 0.8rem;
}
/* 50%OFFアイコンの位置 */
.product-badge{
    position: absolute;
    right: 3%;
    top: 68%;
    width: 28%;
}
.product-card.tall .product-badge{
    top: 52%;
    right: 2%;
}
.product-badge img{
    width: 100%;
    height: 100%;
    display: block;
}
@keyframes badge-glow {
    0% {
        filter: saturate(1) brightness(1) contrast(1);
        transform: scale(1);
    }
    45% {
        filter: saturate(1.1) brightness(1.5) contrast(1.02);
        transform: scale(1.1);
    }
    100% {
        filter: saturate(1) brightness(1) contrast(1);
        transform: scale(1);
    }
}
.product-badge img[src*="50off_icon"],
.toreloop-set__discount img[src*="50off_icon"]{
    animation: badge-glow 1.2s ease-in-out infinite;
    transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
    .product-badge img[src*="50off_icon"]{
        animation: none;
    }
}
/**右カラムのリンク列（画像＋ボタン**/
.product-buttons{
    display: flex;
    flex-direction: column;
    margin-top: 10px;
    padding: 3% 0%;
}
.product-linkrow{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 1%;
    border-top: 1px solid #e6e6e6;
}
.product-linkrow:first-child{
    border-top: 0;
}
.product-thumb{
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-thumb img{
    width: 85%;
    height: 85%;
    object-fit: contain;
}
.product-btn{
    flex: 1;
    border-radius: 999px;
    padding: 3% 0% 5% 0% ;
    color: #fff;
    font-weight: 500;
    font-size: 0.55rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap:5px;
    text-decoration: none;
}
.product-btn.black{ background: #111; }
.product-btn.gray{ background: #9b9b9b; }
.product-btn.purple{ background: #4a48a8; }
.product-btn .chev{
    font-size: 1em;
    line-height: 0.5;
    position: relative;
    top: -1px;
    padding-left: 2%;
}

/* 4点セット大カード */
.toreloop-set{
    margin: 20px 0 30px;
    position: relative;
}
.toreloop-set__badge{
    display: flex;
    justify-content: center;
    margin-bottom: -8%;
    position: relative;
    z-index: 2;
}
.toreloop-set__badge p{
    background: #7b4bc4;
    color: #fff;
    font-weight: 500;
    font-size: 0.7rem;
    padding: 2% 2%;
    border-radius: 0px 0px 12px 12px;
    letter-spacing: 0.05em;
    
}
.toreloop-set__card{
    width: 100%;
    padding: 0;
    margin: 0 auto;
    display: flex;
    gap: 10px;
}
.toreloop-set__media{
    width: 50%;
}
.toreloop-set__mainimg img{
    width: 100%;
}

.toreloop-set__info{
    width: 52%;
    position: relative;
}
.toreloop-set__list{
    margin: 4px 0 15px 0;
    font-weight: 600;
    color: #3b3b3b;
    font-size: 0.9rem;
    line-height: 1.2rem;;

}
.toreloop-set__list{
    margin-top: 20px;
}
.toreloop-set__discount{
    position: absolute;
    top: 0%;
    right: -2%;
    width: 35%;
}
.toreloop-set__price{
    margin-top: -10px;
}
.toreloop-set__price-row{
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    color: #585858;
}
.toreloop-set__price-label{
    font-weight: 500;
    font-size: 0.6rem;
}
.toreloop-set__price-old{
    position: relative;
    font-weight: 700;
    font-size: 0.7rem;
}
.toreloop-set__price-old::after{
    content: "";
    position: absolute;
    left: -4%;
    right: -4%;
    top: 50%;
    height: 1px;
    background: #ff3b7a;
    transform: translateY(-50%) rotate(-10deg);
}
.toreloop-set__price-arrow{
    color: #ff3b7a;
    font-size: 1rem;
    font-weight: 900;
}
.toreloop-set__price-new{
    color: #ff3b7a;
    font-weight: 700;
    font-size: 1.2rem;
}
span{
    font-size: 0.8rem;
}
.toreloop-set__coupon{
    width: 100%;
    text-align: center;
    margin: 10px 0 10px;
    background: #ff3b7a;
    color: #fff;
    font-weight: 500;
    font-size: 0.7rem;
    padding:  3% 1%;
    border-radius: 5px;
    display: inline-block;
}
.toreloop-set__final{
    display: flex;
    align-items:center;
    gap: 2px;
    color: #ff3b7a;
    font-weight: 600;
    margin-bottom: 4px;
    margin-top: 10px;
}
.toreloop-set__final-label{
    font-size: 0.8rem;
}
.toreloop-set__final-price span{
    font-size: 1.1rem;
}

/**************日替りSALE******************/
.higawari-area{
    width: 100%;
    max-width: 900px;
     margin: -10px auto 0;
  padding:3% 3% 10% 3%;
    background: #FFE320;
    text-align: center;
    overflow: visible;
}
.higawari-titleimg{
    width: 100%;
    max-width: 540px;
    margin: 0px auto 5%;
    overflow: visible;
}
.higawari-accordion{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 8px auto 0;
}
.higawari-acc-item{
    width: 100%;
}
.higawari-acc-trigger{
    width: 100%;
    background: #00A7AA;
    color: #fff;
    border: 0;
    border-radius: 10px 10px 0px 0px;
    padding: 3% 3%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}
.higawari-acc-left{
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
}
.higawari-acc-date{
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    margin-left: 10px;
}
.higawari-acc-week{
    font-size: 0.7rem;
    font-weight: 500;
    margin-left: -3%;
}
.higawari-acc-time{
    font-size: 0.8rem;
    font-weight: 700;
    margin:0 10px 0 0;
}
.higawari-acc-title{
    flex: 1;
    text-align: left;
    font-weight: 500;
    font-size: 0.8rem;
}
.higawari-acc-icon{
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    width: 15px;
    text-align: center;
}
.higawari-acc-panel{
    background: #FFE320;
    border-radius: 0 0 16px 16px;
    margin-top: -6px;
    padding: 0px;
}
.higawari-acc-body{
    padding: 2% 0px;
}
.higawari-acc-heading{
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.06em;
    color: #2f2f2f;
    margin: 2% 0 5px;
}
/****日替りSALE カード***/
.higawari-acc-card{
    background: #fff;
    border: 2px solid #333;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 10px;
    box-shadow: 0 3px 0 #333, 0 4px 8px rgba(0,0,0,0.1);
    height: auto;
}
.higawari-acc-card:last-child{
    margin-bottom: 0;
}
.higawari-acc-card__top{
    background: #333;
    color: #fff;
    font-weight: 500;
    font-size: 0.8rem;
    padding:2% ;
}
.higawari-acc-card__inner{
    display: flex;
    gap: 10px;
    padding:0%;
    position: relative;
   
}
.higawari-acc-card__img{
    width: 45%;
    height: auto;

}
.higawari-acc-card__img img{
    width: 100%;
    display: block;
}

.higawari-acc-card__info{
    width: 55%;
    text-align: left;
    padding: 1% 0 0 0;
    color: #333;
}
.higawari-acc-card__name{
    font-weight: 500;
    font-size: 0.65rem;
    line-height: 1.2;
    margin: 2% 0% 0% 0;
}
.higawari-acc-card__price{
    margin-top: 3%;
}
.higawari-acc-card__price-row{
    display: flex;
    align-items: baseline;
    gap: 2px;
}
.higawari-acc-card__price-label{
    font-size: 0.5rem;
    color: #666;
}
.higawari-acc-card__price-old{
    font-size: 0.7rem;
    font-weight: 700;
    color: #4a4a4a;
    position: relative;
    display: inline-block;
}
.higawari-acc-card__price-old::after{
    content: "";
    position: absolute;
    left: -4%;
    right: -4%;
    top: 50%;
    height: 1px;
    background: #ff3b7a;
    transform: translateY(-50%) rotate(-10deg);
    transform-origin: center;
}
.higawari-acc-card__price-new{
    font-family: "Akshar", sans-serif;
    font-weight: 800;
    font-size: 2.6rem;
    color: #ff3b7a;
    letter-spacing: -0.05em;
    margin-top: -5px;
    padding: 0;
}
.higawari-acc-card__price-new .price-comma{
    font-size: 1.8rem;
}
.higawari-acc-card__price-new span{
    font-size: 1rem;
    margin-left: 2px;
}
.higawari-acc-card__shipcoponset{
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: baseline;
     margin: 0% 0%;
     gap: 3px;
     position: absolute;
     bottom: 5%;
}
.higawari-acc-card__ship{
    color: #ff3b7a;
    font-weight: 500;
font-size: 0.7rem;
letter-spacing: -0.01rem;
margin-top: -2%;
}
.higawari-acc-card__coupon{
    display: inline-block;
    border: 1.5px solid #ff3b7a;
    color: #ff3b7a;
    font-weight: 500;
    font-size: 0.55rem;
    padding:0.5% 1%;
    border-radius: 3px;
}
.higawari-acc-card__badge{
    position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    width: 15%;
}
.higawari-acc-card__badge img{
    width: 100%;
    display: block;
}
.higawari-acc-trigger.is-open{
    border-radius: 10px 10px 0 0;
}
.higawari-acc-trigger.is-open .higawari-acc-icon{
    transform: rotate(0deg);
}


.higawari-grid{
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: stretch;
    flex-wrap: nowrap;
    width: 100%;
}
.higawari-card{
    width: 20%;
    background: #fff;
    border: 2px solid #00A7AA;
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 ;
    cursor: pointer;
    box-shadow: #00A7AA 0px 3px 0px;
}
.higawari-card:focus-visible{
    outline: 3px solid #00A7AA;
    outline-offset: 2px;
}
.higawari-card__date{
    width: 100%;
    background: #00A7AA;
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 12% 0;
    border-radius: 0px;
    margin: 0px;
}
.higawari-card__date small{
font-size: 0.5rem;
}
.higawari-card__title{
    font-size: 0.7rem;
    letter-spacing: -0.03em;
    line-height: 0.8rem;
    margin: 8% 1%;
    font-weight: 700;
    
}
.higawari-card__img{
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10% 0 ;
}

.higawari-card__img img{
    width: 100%;
    height: auto;
    display: block;
    margin: 5% 0;
}

.higawari-grid .higawari-card:first-child .higawari-card__img img{
  transform: translateY(-20%);
}

.higawari-note_title{
    margin: 3%;
    font-size: 0.8rem;
    font-weight: 500;
}
.higawari-note{
    margin-top: 5%;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 2%;
}
.higawari-note span{
    color: #ff3b7a;
    font-weight: 700;
    font-size: 0.9rem;
}



/***********1000円ポッキリSALE***************/
.senpoki-area{
    width: 100%;
   max-width: 900px;
     margin: -10px auto 0;
 padding:3% 3% 15% 3%;
    background: #FDB820;
    text-align: center;
    overflow: visible;
}
.senpoki-titleimg{
    width: 100%;
    margin: 0px auto 5%;
}
.senpoki-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
.senpoki-card{
    background: #ffffff;
    border: 2px solid #333;
    border-radius: 8px;
    padding: 0% 0% 5% 0%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    position: relative;
    box-shadow: 0 4px 0 #333, 0 4px 8px rgba(0,0,0,0.1);
    margin-bottom: 5px;
}
.senpoki-card__img{
    padding: 0px;
}
.senpoki-card__img img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 5px 5px 0 0;;
}
.senpoki-card__body{
    text-align: left;
    padding: 5% 5%;
    color: #333;
    margin-bottom: 5%;
}
.senpoki-card__brand{
    margin: 0;
    font-size: 0.6rem;
    font-weight: 400;
}
.senpoki-card__meta{
    font-size: 0.7rem;
    font-weight: 500;
        margin-bottom: 18%;
}
.senpoki-card__name{
    margin: 2% 0 0;
    font-size: 0.8rem;
    font-weight: 500;

}

.senpoki-card__price{
    position: absolute;
    bottom: 3%;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #ff3b7a;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.7rem;
    border-radius: 5px;
    text-align: center;
    width: 90%;
    padding: 2% 0%;
    
}
.pokkiriprice{
     font-family: "Akshar", sans-serif;
     font-size: 1.3rem;
     vertical-align:baseline;
}

/***********新生活***************/
.shinseikatu-titleimg{
    width: 100%;
    max-width: 540px;
    margin: 0px auto 5%;
    overflow: visible;
    position: relative;
    z-index: 2;
}
.shinseikatu-area{
    background: #FD88BA;
    width: 100%;
    max-width: 900px;
    margin: -10px auto 0;
    padding: calc(3% + 12px) 3% 10% 3%;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 136, 186, 1) 19%, rgba(255, 237, 96, 1) 100%, rgba(253, 183, 37, 1) 62%);
    overflow: visible;
}
.shinseikatu-anchor-buttons{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 auto 6%;
    text-align: center;
}
.shinseikatu-anchor-btn{
    background: #fff;
    border: 2px solid #333;
    border-radius: 999px;
    padding: 12px 14px;
    color: #333;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    position: relative;
    box-shadow: 0 2px 0 #333;
    text-align: center;
    letter-spacing: -0.05rem;
    
    
}
.shinseikatu-anchor-btn span{
    font-size: 0.8rem;
}
span.shinseikatu-anchor-chev{
    font-size: 0.5rem;
    font-weight: 800;
    line-height: 1;
    position: absolute;
    right: 14px;
}
.shinseikatu-anchor-section{
    margin: 30px 0 16px;
}
.shinseikatu-anchor-heading{
    width: calc(100% + 6%);
    margin: 0 -3%;
    background: #000;
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    padding: 12px 0;
    text-align: center;
}
.shinseikatu-anchor-text{
    margin: 5%  0 2%;
    font-weight: 600;
     font-size: 0.9rem;
}
.shinseikatu-image-row-title{
    margin: 10px 0 6px;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.03em;
}
.shinseikatu-image-row-sub{
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 0.85rem;
    color: #222;
}
.shinseikatu-image-row{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 10px;
}
.shinseikatu-image-row img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
    background: #fff;
}
.shinseikatu-banner-title{
    margin: 16px 0 8px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-banner-block{
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 5%;
    border: 1px solid #333;
    height: 180px;;
}
.shinseikatu-banner-head{
    background: #333;
    color: #fff;
    font-weight: 500;
    padding: 2% 0;
    font-size: 0.8rem;
    text-align: center;
}
.shinseikatu-banner-text{
    font-size: 0.7rem;
    padding: 1% 1%;
    color: #FFF;
}
.bule_back{
    background-color: #4b60ff;
}
.pink_back{
    background-color: #e59cff;
}
.gray_back{
    background-color: #3a4150d6;
}
.red_back{
    background-color: #ea2525;
}
.shinseikatu-banner-body img{
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
}




.shinseikatu-product-subhead{
    margin: 14px 0 10px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-product-carousel{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    scroll-padding: 0 3%;
    margin: 0 auto;
    max-width: 100%;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    cursor: grab;
    user-select: none;
}
.shinseikatu-product-carousel img{
    -webkit-user-drag: none;
    user-select: none;
}
.shinseikatu-product-carousel.is-dragging{
    cursor: grabbing;
}
.shinseikatu-product-carousel::-webkit-scrollbar{
    height: 0;
}
.shinseikatu-product-track{
    display: flex;
    gap: 5px;
    padding: 0 3% 8px 3%;
    max-width: 1100px;
}
.shinseikatu-product-card{
    flex: 0 0 42%;
    background: #fff;
    border: 2px solid #333;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 0 #333;
    text-decoration: none;
    color: #222;
    scroll-snap-align: start;
    position: relative;
}
.shinseikatu-product-img{
    width: 100%;

}

.shinseikatu-product-info{
    padding: 4% 5% 4%;
    text-align: left;
    position: relative;
   
}
.shinseikatu-product-brand{
    font-weight: 400;
    margin-bottom: 2px;
     font-size: 0.6rem;
}
.shinseikatu-product-name{
    font-weight: 600;
    margin-bottom: 2px;
    font-size: 0.7rem;
    line-height: 1rem;
}
.shinseikatu-product-meta{
    margin-bottom: 8px;
    font-size: 0.6rem;
    
}

.shinseikatu-product-price-old{
    display: block;
    text-decoration: line-through;
    color: #777;
    font-size: 0.5rem;
}
.shinseikatu-product-price-new{
    display: block;
    color: #ff3b7a;
    font-weight: 800;
    font-size: 1.9rem;
    line-height: 1.1;
    font-family: "Akshar", sans-serif;
    font-weight: 800;
    letter-spacing: -0.04rem;
}
.shinseikatu-product-price-new small{
    font-size: 0.8rem;
    font-weight: 900;

}
.shinseikatu-product-ship{
    color: #ff3b7a;
    font-weight: 500;
    font-size: 0.7rem;
}
.shinseikatu-product-coupon{
    font-size: 0.5rem;
    color: #ff3b7a;
    border: 1px solid #ff3b7a;
    display: block;
    padding: 1% 2%;
    border-radius: 2px;
    text-align: center;
    width: 100%;
    font-weight: 600;
    margin-top: 2%;
}
.shinseikatu-product-badge{
    position: absolute;
    right: 6px;
    top: 73%;
    width: 28%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shinseikatu-product-badge img{
    width: 100%;
    height: 100%;
    display: block;
}
.shinseikatu-swipebar{
    width: 70%;
    height: 10px !important;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 999px;
    margin: 8px auto 0;
    position: relative;
    left: auto !important;
    top: auto !important;
}
.shinseikatu-swipebar span{
    position: absolute;
    left: 20%;
    top: 0;
    bottom: 0;
    width: 30%;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 999px;
    height: 100%;
}
.shinseikatu-swipebar{
    width: 100%;
    height: 10px;
    cursor: grab;
}
.shinseikatu-swipebar:active{
    cursor: grabbing;
}


/***********新生活***************/
.shinseikatu-titleimg{
    width: 100%;
    max-width: 540px;
    margin: 0px auto 5%;
    overflow: visible;
    position: relative;
    z-index: 2;
}
.shinseikatu-area{
    background: #FD88BA;
    width: 100%;
    max-width: 900px;
    margin: -10px auto 0;
    padding: calc(3% + 12px) 3% 10% 3%;
    text-align: center;
    background: linear-gradient(180deg, rgba(253, 136, 186, 1) 19%, rgba(255, 237, 96, 1) 100%, rgba(253, 183, 37, 1) 62%);
    overflow: visible;
}
.shinseikatu-anchor-buttons{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 auto 6%;
    text-align: center;
}
.shinseikatu-anchor-btn{
    background: #fff;
    border: 2px solid #333;
    border-radius: 999px;
    padding: 12px 14px;
    color: #333;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    position: relative;
    box-shadow: 0 2px 0 #333;
    text-align: center;
    letter-spacing: -0.05rem;
  
    
}
.shinseikatu-anchor-btn span{
    font-size: 0.8rem;
}
span.shinseikatu-anchor-chev{
    font-size: 0.5rem;
    font-weight: 800;
    line-height: 1;
    position: absolute;
    right: 14px;
}
.shinseikatu-anchor-section{
    margin: 30px 0 16px;
}
.shinseikatu-anchor-heading{
    width: calc(100% + 6%);
    margin: 0 -3%;
    background: #000;
    color: #fff;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    padding: 12px 0;
    text-align: center;
}
.shinseikatu-anchor-text{
    margin: 5%  0 2%;
    font-weight: 600;
     font-size: 0.9rem;
}
.shinseikatu-image-row-title{
    margin: 10px 0 6px;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.03em;
}
.shinseikatu-image-row-sub{
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 0.85rem;
    color: #222;
}
.shinseikatu-image-row{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 10px;
}
.shinseikatu-image-row img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
    background: #fff;
}
.shinseikatu-banner-title{
    margin: 16px 0 8px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-banner-block{
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 5%;
    border: 1px solid #333;
    height: auto;
}
.shinseikatu-banner-head{
    background: #333;
    color: #fff;
    font-weight: 500;
    padding: 2% 0;
    font-size: 0.8rem;
    text-align: center;
}
.shinseikatu-banner-text{
    font-size: 0.7rem;
    padding: 1% 1%;
    color: #FFF;
}

.shinseikatu-banner-body img{
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
}




.shinseikatu-product-subhead{
    margin: 14px 0 10px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-product-carousel{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    scroll-padding: 0 3%;
    margin: 0 auto;
    max-width: 100%;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
    cursor: grab;
    user-select: none;
}
.shinseikatu-product-carousel img{
    -webkit-user-drag: none;
    user-select: none;
}
.shinseikatu-product-carousel.is-dragging{
    cursor: grabbing;
}
.shinseikatu-product-carousel::-webkit-scrollbar{
    height: 0;
}
.shinseikatu-product-track{
    display: flex;
    gap: 5px;
    padding: 0 3% 8px 3%;
    max-width: 1100px;
}
.shinseikatu-product-card{
    flex: 0 0 42%;
    background: #fff;
    border: 2px solid #333;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 0 #333;
    text-decoration: none;
    color: #222;
    scroll-snap-align: start;
    position: relative;
}
.shinseikatu-product-img{
    width: 100%;

}

.shinseikatu-product-info{
    padding: 4% 4% 4%;
    text-align: left;
    position: relative;
   
}
.shinseikatu-product-brand{
    font-weight: 400;
    margin-bottom: 2px;
     font-size: 0.6rem;
}
.shinseikatu-product-name{
    font-weight: 600;
    margin-bottom: 2px;
    font-size: 0.7rem;
    line-height: 1rem;
}
.shinseikatu-product-meta{
    margin-bottom: 8px;
    font-size: 0.6rem;
    
}

.shinseikatu-product-price-old{
    display: block;
    text-decoration: line-through;
    color: #777;
    font-size: 0.5rem;
}
.shinseikatu-product-price-new{
    display: block;
    color: #ff3b7a;
    font-weight: 800;
    font-size: 1.9rem;
    line-height: 1.1;
    font-family: "Akshar", sans-serif;
    font-weight: 800;
    letter-spacing: -0.04rem;
}
.shinseikatu-product-price-new small{
    font-size: 0.8rem;
    font-weight: 900;

}
.shinseikatu-product-ship{
    color: #ff3b7a;
    font-weight: 500;
    font-size: 0.7rem;
}
.shinseikatu-product-coupon{
    font-size: 0.65rem;
    color: #fff;
    background-color: #ff3b7a;
    display: block;
    padding: 2% 1%;
    border-radius: 2px;
    text-align: center;
    width: 100%;
    font-weight: 600;
    margin-top: 2%;
}
.pa{
    color: #fff;
    background-color:#FF5416 ;
}
.shinseikatu-product-badge{
    position: absolute;
    right: 6px;
    top: 73%;
    width: 28%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shinseikatu-product-badge img{
    width: 100%;
    height: 100%;
    display: block;
}
.shinseikatu-swipebar{
    width: 70%;
    height: 10px !important;
    background: rgba(0, 0, 0, 0.15);
    border-radius: 999px;
    margin: 8px auto 0;
    position: relative;
    left: auto !important;
    top: auto !important;
}
.shinseikatu-swipebar span{
    position: absolute;
    left: 20%;
    top: 0;
    bottom: 0;
    width: 30%;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 999px;
    height: 100%;
}
.shinseikatu-swipebar{
    width: 100%;
    height: 10px;
    cursor: grab;
}
.shinseikatu-swipebar:active{
    cursor: grabbing;
}

/***********レックダイレクト店舗***************/
.friend-area{
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 20px 16px 24px;
    text-align: center;
    background: #e9e9e9;
}
.friend-title{
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.4;
    color: #333;
    margin-bottom: 10px;
}
.friend-sabtitle{
    font-size: 0.8rem;
    font-weight: 700;

}
.friend-links{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin:3% auto 2%;
}
.friend-link{
    display: block;
}
.friend-link img{
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    border: #333 1px solid;
    border-radius: 8px;
    box-shadow: #333 0 2px 0;
}



/***********フッター***************/
.site-footer{
    width: 100%;
    max-width: 900px;
    margin: 0 auto 0;
    background: #333;
    color: #fff;
    text-align: center;
    padding: 14px 10px;
    font-weight: 600;
}
.site-footer{
    position: relative;
    z-index: 0;
}
.site-footer::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: #333;
    z-index: -1;
}
.footer-link{
    color: #fff;
    text-decoration: none;
    font-weight: 400;
    font-size: 0.8rem;
}
.footer-sep{
    margin: 0 8px;
    color: #fff;
}

/***********SP下部追従メニュー***************/
.sp-bottom-menu{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none;
}
.sp-bottom-menu.is-visible{
    display: block;
}
.sp-bottom-menu__toggle{
    width: 100%;
     background: #00A7AA;
    color: #fff;
    border: 0;
    padding: 4% 10% 4% 20%;
    font-weight: 500;
    box-shadow: 0 -6px 10px rgba(23, 10, 10, 0.07);
    
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    letter-spacing: 0.05rem;
}

.sp-bottom-menu__toggle span{
font-size: 0.9rem;
}
.sp-bottom-menu__panel{
    background: #fff;
    padding: 12px 14px 10px;
    display: none;
    
}
.sp-bottom-menu.is-open .sp-bottom-menu__panel{
    display: block;
}

.sp-bottom-menu__title{
    background: #00b7b7;
    color: #fff;
    font-weight: 700;
    text-align: center;
    padding: 10px 8px;
    margin: -12px -14px 10px;
}
.sp-bottom-menu__links{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 16px;
    padding: 4px 4px 8px;
}
.sp-bottom-menu__link{
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #00A7AA;
    font-weight: 700;
    padding: 6px 0;
    border-bottom: 1px solid rgba(0, 183, 183, 0.25);
}
.sp-bottom-menu__link img{
    width: 22px;
    height: Z;
    display: block;
    flex: 0 0 22px;
    min-width: 22px;
}
.sp-bottom-menu__panel button{
 margin: 0 auto;
   display: flex;
    align-items: center;
    color: #00A7AA;
}

/* PCで見たときは"PC"のclassがついた画像が表示される */
@media (min-width: 768px) {
.pc { display: block !important; }
.sp { display: none !important; }
body{
    width: 100vw;
    font-size: 20px;
}
/* メインビジュアル背景 */
.main-visual{
    background-image: url(https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/bcimg1-a.wowma.net/plus/u39188522/pc/collabo_lp/202603/css/../img/mv_mv_backguraund.png);
    background-repeat: no-repeat;
    height: 440px;
}
/* なみなみ：MVと次セクションの区切り */
.wave-divider{
    margin-top: -60px; /* MVの下に少し重ねる */
   z-index: 3;
}
/* PCでもセクションに少しかぶせる */
.main-area .wave-divider.pc{
    display: block !important;
    position: relative;
    z-index: 50;
    margin-top: -30px;
}
.main-area .wave-divider.pc svg{
    display: block;
    width: 100%;
    height: auto;
}

/* MV内の配置画像 */
.mv_nigiyakashi{/*賑やかし*/
    top: 0%;
    left: 10%;
    z-index: 1;
}
.mv_50off{/*50％OFF画像 */
    top: 3%;
    left: 40%;
    width: 26%;
    max-width: 450px;
    transform: translate(-50%, -50%);
    animation: mv-pop 0.7s ease-out both;
    animation-delay: 0.2s;
    z-index: 20;

}
.mv_toreloop{/*トレループ画像 */
    top: 58%;
    left: 50%;
    width: 40%;
    max-width: 700px;
    transform: translate(-50%, -50%);
}
.mv_50off{
    transform-origin: center center;
}
.mv_nigiyakashigekiochi{
    position: absolute;
    top: 5%;
    left: 32%;
    width: 8%;
    max-width: 160px;
    animation: mv-pop 0.5s ease-out both;
    animation-delay: 0.1s;
    z-index: 3;
}

.mv_kikan{/* 期間 */
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    width: 35%;
    max-width: 500px;
     z-index: 4;
}


/* メインコンテンツ囲み */
.main-area{
    width: 100vw;
    max-width: 900px;
    margin: 0 auto;
}
.main-area .wave-divider,
.main-area .wave-toreloop_naminami{
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}
.coupon-area,
.sale-menu,
.toreloop-area,
.higawari-area,
.senpoki-area,
.shinseikatu-area{
    position: relative;
    z-index: 0;
}
.coupon-area::before,
.sale-menu::before,
.toreloop-area::before,
.higawari-area::before,
.senpoki-area::before,
.shinseikatu-area::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: var(--section-bg, transparent);
    z-index: -1;
}
.coupon-area{
    --section-bg: #ffffff;
}
.sale-menu{
    --section-bg: #FFF190;
}
.toreloop-area{
    --section-bg: linear-gradient(90deg, #FFC2FF 50%, #9DC5FF 50%, #9DC5FF 100%);
}
.higawari-area{
    --section-bg: #FFE320;
}
.senpoki-area{
    --section-bg: #FDB820;
}
.shinseikatu-area{
    --section-bg: linear-gradient(180deg, rgba(253, 136, 186, 1) 19%, rgba(255, 237, 96, 1) 100%, rgba(253, 183, 37, 1) 62%);
}

/* クーポンエリア */
.coupon-area{
    padding:0%;
    margin: 0 auto;
    width: 100%;
    max-width: 900px;
    position: relative;
    z-index: 5;
}
.coupon-title{/* タイトル画像 */
    margin: -25px auto 0;
    
}
.coupon-title img{/* タイトル画像 */
    width: 700px;
    margin: -10px auto 0;
    
}
.coupon-linkimages{/*クーポンまとめ */
    width: 90%;
    max-width: 760px;
    margin: 3% auto 10%;
}

.coupon-linkimages_img a img{/*クーポンまとめ */
   margin-bottom: 15px;
}


/* *******SALEメニューアンカーリンクエリア******* */
.sale-menu {
    padding:4% 0 8% 0 ;
    margin: 0px auto 0;
     max-width: 800px;
     position: relative;
    z-index:10;

}
.sale-menu-title{
 margin:-40px auto 3%;
}
.sale-menu-title img{
    width: 650px;
    margin:0px auto 2%;
}

.sale-menu-linkimage{
    margin: 1% 0 0 0;
}
.sale-menu-2retu{
gap: 2%;
}




/* トレループ半額のなみなみ */
.wave-toreloop_naminami{
    margin-top: -35px; /* トレループ半額エリアの上に少し重ねる */
    z-index: 80;
}

/* トレループ半額エリア（左右の背景分割） */
.toreloop-area{
  margin: -20px auto 0;
  padding:5% 0 1% 0;
  width: 900px;
  
}
.toreloop-titleimg{
    width: 700px;
    overflow: visible;
    margin:  -20px auto 0;
    z-index: 4;
}
.toreloop-logo{
    width: 60%;
    margin: 5% auto;
}

/* セクション見出しピル */
/* 比較エリア */
.toreloop-pill{
    font-size: 1.1rem;
    width: 90%;
    padding: 10px 0px;
    margin: 0 auto 5%;
}

.toreloop-items{
    gap: 2%;
    margin-bottom: 5%;
}
.toreloop-item__title{
    margin: 0 0  3%  0 ;
    font-size: 1rem;
}
.toreloop-card {
    padding: 0% 0% 2% 8%;
}
.toreloop-item__img img{
    width:90%;
}
.toreloop-badge{
    min-width: 30%;
    font-size: 0.8rem;
    margin-left: 20px;
}

.toreloop-way__text{
    margin: 0 0 0 20px;
    font-size: 1rem;
}
.toreloop-way__img{
    margin: 0 0 8px;
}
.toreloop-way__img img{
    width: 90%;
    border-radius: 10px;
}

/* 商品カード（左2枚/右1枚） */
.product-grid{
    margin-top: 10px;
}
.toreloop-product{
    gap: 30px;
    height: 100%;
}
.product-card{
    border-radius: 15px;
    padding: 5% 5% 0% 5%;
}

.product-title{
    width: 50%;
    padding: 2% 0;
    margin: -6% auto 15px;
    font-size:0.8rem;
}

.product-title.purple{
 background: #7b4bc4;
 font-size: 1rem; 
}
.product-title.blue{
    width: 70%;
}
.product-img{
    margin-bottom:5px;
    margin: 0 auto;;
}
.product-img img{
    width: 100%;
    display: block;
    margin: 0 auto 15px;
}
.product-img_hanbun{
object-position:top right;
 height: 200px;
 object-fit:cover;
    
}
.product-price{
    margin-top: 20px;
}
.old_new_wapper{
    display: flex;
    justify-content: flex-start;
    gap: 20px;
}
.product-price__label{
    margin: 0 0 -2px 0;
    font-size: 0.7rem;
}
.product-price__old{

    font-size: 1.3rem;
}

.product-price__old::after{

    height: 2px;
}
.product-price__new{
    color: #ff3b7a;
    font-size: 4.9rem;
    margin-top: -10px;
    letter-spacing: -0.2rem;
}
.product-price__new .price-comma{
    font-size: 3rem;
}
.product-price__new span{
    font-size: 1rem;
    margin-left: 2px;
}


.product-price__ship{
    margin-top: 0px;
    font-size: 1rem;
}
/* 50%OFFアイコンの位置 */
.product-badge{
    position: absolute;
    right: 6%;
    top: 70%;
    width: 23%;
}
.product-card.tall .product-badge{
    top: 60%;
    right: 5%;
}
.product-badge img{
    width: 100%;
    height: 100%;
    display: block;
}
@keyframes badge-glow {
    0% {
        filter: saturate(1) brightness(1) contrast(1);
        transform: scale(1);
    }
    45% {
        filter: saturate(1.1) brightness(1.02) contrast(1.02);
        transform: scale(1.1);
    }
    100% {
        filter: saturate(1) brightness(1) contrast(1);
        transform: scale(1);
    }
}
.product-badge img[src*="50off_icon"],
.toreloop-set__discount img[src*="50off_icon"]{
    animation: badge-glow 1.2s ease-in-out infinite;
    transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
    .product-badge img[src*="50off_icon"]{
        animation: none;
    }
}
/**右カラムのリンク列（画像＋ボタン**/
.product-buttons{
    display: flex;
    flex-direction: row;
    margin-top: 10px;
    padding:0%;
    gap: 10px;
}
.product-linkrow{
    display: flex;
     flex-direction: column;
    gap: 20px;
    padding: 0%;
        border-top: 1px solid #fff;
}
.product-linkrow:first-child{
    border-top: 0;
}
.product-thumb{
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-thumb img{
    width: 100%;
    height:100%;
    object-fit: contain;
}
.product-btn{
    width: 120px;
    padding: 6% 0% 6% 0% ;
    font-size: 0.55rem;
    gap:5px;
}
.product-btn.black{ background: #111; }
.product-btn.gray{ background: #9b9b9b; }
.product-btn.purple{ background: #4a48a8; }
.product-btn .chev{
    font-size: 1em;
    line-height: 0.5;
    position: relative;
    top: -1px;
    padding-left: 2%;
}

/* 4点セット大カード */
.toreloop-set{
    margin: 30px 0 10%;
}

.toreloop-set__card{
    width: 100%;
    padding: 0;
    margin: 0 auto;
    display: flex;
    gap: 30px;
}
.toreloop-set__media{
    width: 70%;
}
.toreloop-set__mainimg img{
    width: 100%;
}

.toreloop-set__info{
    width: 50%;
    position: relative;
}
.toreloop-set__list{
    margin: 0px 0 10px 0;
    font-size: 1rem;
    line-height: 1.2rem;;

}
.toreloop-set__list{
    margin-top:5px;
}
.toreloop-set__discount{/*50％バッジ*/
    position: absolute;
    top: -12%;
    right: -5%;
    width: 33%;
}
.toreloop-set__price{
    margin-top: 10px;
}
.toreloop-set__price-row{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    color: #585858;
}
.toreloop-set__final-label{
    font-size: 1.2rem;
}
.toreloop-set__price-label{
    font-weight: 500;
    font-size: 0.9rem;
}
.toreloop-set__price-old{
    position: relative;
    font-weight: 700;
    font-size: 0.9rem;
}
.toreloop-set__price-old::after{
    height: 2px;
}

.toreloop-set__price-new{
    font-size: 1.5rem;
}

.product-price__shiponry{
    font-size: 0.8rem;
    letter-spacing: 0.05rem;
    margin-left: 20px;
}
.toreloop-set__coupon{
    font-size: 1rem;
}










/********************************日替りSALE***************************/
.higawari-area{
    width: 900px;
     margin: 0px auto ;
  padding:0% 0 8% 0 ;
   position: relative;
       z-index: 12;
  
}
.section-reveal{
margin-top: 0px;

}
.higawari-titleimg{
    width: 100%;
     max-width: 600px;
    margin: 0px auto 3%;
    overflow: visible;  
}

/* 日替わり */
.higawari-grid{
    gap: 10px;
    width: 900px;
    padding: 0
}
.higawari-card{
    width: 18%;
    height: 250px;
    padding: 0 0 0 0 ;
}
.higawari-card__date{
    font-size: 1.5rem;
    padding: 5% 0;

}
.higawari-card__date small{
font-size: 1rem;
}
.higawari-card__title{
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: -0.0.6em;
    line-height: 1.5rem;
    margin: 5% 1%;
    
}
.higawari-acc-date{
    font-size: 1.6rem;
}
.higawari-acc-week{
    font-size: 1rem;
    font-weight: 500;
    margin-left: -2%;
}
.higawari-acc-time{
    font-size: 1.3rem;
    font-weight: 500;
    margin:0 50px 0 0;
}
.higawari-acc-title{
    text-align: left;
    font-size: 1.4rem;
}
.higawari-acc-icon{
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    width: 15px;
    text-align: center;
}

.higawari-acc-card__img{
    width: 100%;
    
}
/**▼気になる商品は事前に*/
.higawari-note{
    margin-top: 3%;
    font-size: 1.5rem;
    font-weight: 600;

}
.higawari-note span{
    font-size: 1.5rem;
}



/*アコーディオン*/
.higawari-acc-trigger{
    width: 900px;
    padding: 2% 3% 2% 10%;
}
.higawari-accordion{
    gap: 10px;
    margin: 15px auto 0;
}
.higawari-acc-item{
    width: 800px;

}
/*アコーディオン　中*/
.higawari-acc-panel{
    border-radius: 0 0 16px 16px;
    margin: -6px auto;
    padding: 0 0 5%;

}
.higawari-acc-body{
    width: 900px;
    padding: 0% 0px;
}
/****日替りheading***/
.higawari-acc-heading{
    font-size: 1.3rem;
    margin: 30px 0 -20px 0;
}
/****日替りSALE カード***/
.higawari-acc-card{
    margin-bottom: 30px;
    margin-top: 30px;

}

.higawari-acc-card__top{
    font-weight: 500;
    font-size: 1rem;
    padding:1% ;
}
.higawari-acc-card__inner{
    display: flex;
    gap:130px;
    padding:0%;
    position: relative;
   
}
.higawari-acc-card__img{
    width: 50%;
    display: flex;

}
.higawari-acc-card__img img{
    width:62%;
    height:auto;
    display: block;
}

.higawari-acc-card__info{
    width: 40%;
    text-align: left;
}
.higawari-acc-card__name{
    font-size: 1.1rem;
    line-height: 1.3;
    margin: 3% 0% 0% 0;
}
.higawari-acc-card__price{
    margin-top: 5%;
}
.higawari-acc-card__price-row{
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.higawari-acc-card__price-label{
    font-size: 0.8rem;
    color: #666;
}
.higawari-acc-card__price-old{
    font-size: 1rem;
}
.higawari-acc-card__price-old::after{
    height: 2px;
}
.higawari-acc-card__price-new{
    font-size: 4.2rem;
    margin-top: -5px;
}
.higawari-acc-card__price-new .price-comma{
    font-size: 3rem;
}
.higawari-acc-card__price-new span{
    font-size: 1.5rem;
    margin-left: 5px;
}
.higawari-acc-card__shipcoponset{
     margin: 0% 0%;
     gap: 20px;
     position: absolute;
     bottom: 5%;
}
.higawari-acc-card__ship{
font-size: 1.3rem;
letter-spacing:-0.01rem;
margin-top: -2%;
}
.higawari-acc-card__coupon{
    font-size: 0.9rem;
    padding:0.5% 1%;
    border-radius: 5px;
}
.higawari-acc-card__coupon_top{
    font-size: 1.2rem;
    padding:1% 2%;
    border-radius: 0px;
    margin-top: -3px;
}
.higawari-acc-card__badge{
    position: absolute;
    right: 3%;
    top: 57%;
    transform: translateY(-50%);
    width: 12%;
}
.higawari-acc-card__badge img{
    width: 100%;
    display: block;
}
.higawari-acc-trigger.is-open{
    border-radius: 10px 10px 0 0;
}
.higawari-acc-trigger.is-open .higawari-acc-icon{
    transform: rotate(0deg);
}

/***********************1000円ポッキリSALE***************************/

  .wave-divider1000poki{
      display: block !important;
      position: relative;
      margin-top: -30px;
      width: 100vw;
      z-index:30;
      left: 50%;
      transform: translateX(-50%);
  }

.senpoki-area{
   width: 900px;
     margin: -20px auto 0% 0%;
     padding: 3% 0 10% 0 ;
     z-index:30;

}
.senpoki-titleimg{
    width: 100%;
        max-width: 700px
}
.senpoki-titleimg img{
    width: 100%;
    margin: 0 auto 3%;
    
}

.senpoki-grid{
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.senpoki-card__brand{
    font-size: 0.8rem;
    font-weight: 400;
}
.senpoki-card__meta{
    font-size: 0.9rem;
    font-weight: 500;
        margin-bottom: 10%;
}
.senpoki-card__name{
    margin: 2% 0 0;
    font-size: 1rem;
    font-weight: 500;

}

.senpoki-card__price{
    bottom: 3%;
    font-size: 1.2rem;
    padding: 2% 0%;
    
}
.pokkiriprice{
     font-family: "Akshar", sans-serif;
      font-size: 1.3rem;
      vertical-align:baseline;
}






/***********新生活***************/

.shinseikatu-area{
    width: 100vw;
    max-width: 900px;
    padding: 3% 0 6%;
    margin-left: 50%;
    transform: translateX(-50%);
margin-top: -30px;
 z-index:60;
}
.shinseikatu-titleimg{
    max-width: 680px;
    margin: 35px auto 4%;
    overflow: visible;
    position: relative;
    z-index:60;
}
.shinseikatu-anchor-buttons{
    width: 900px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 auto 4%;
}
.shinseikatu-anchor-btn{
    padding: 18px 15px;
    gap: 15px;
    position: relative;
    box-shadow: 0 4px 0 #333
}
.shinseikatu-anchor-btn span{
    font-size: 1rem;
}
span.shinseikatu-anchor-chev{
    font-size: 0.5rem;
    font-weight: 800;
    line-height: 1;
    position: absolute;
    right: 14px;
}
.shinseikatu-anchor-section{
    margin: 30px 0 16px;
}
.shinseikatu-anchor-heading{
    font-size: 1.3rem;
    padding: 15px 0;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%)
}
.shinseikatu-anchor-text{
    margin: 3%  0 2%;
     font-size: 1.3rem;
}
.shinseikatu-image-row-title{
    margin: 10px 0 6px;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: 0.03em;
}
.shinseikatu-image-row-sub{
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 1.2rem;
    color: #222;
}
.shinseikatu-image-row{
    gap: 20px;
    margin: 0 auto 30px;
    max-width: 900px;
}
.shinseikatu-banner-title{
    margin: 16px 0 8px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-banner-block{
    width: 600px;
    overflow: hidden;
    margin:0 auto 2%;
    height: auto;
}
.shinseikatu-banner-head{
    font-weight: 500;
    padding: 1% 0;
    font-size: 1.3rem;
    text-align: center;
}
.shinseikatu-banner-text{
    font-size: 1rem;
    padding: 1% 1%;
}
.shinseikatu-banner-body img{
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
}




.shinseikatu-product-subhead{
    margin: 14px 0 10px;
    font-weight: 700;
    color: #333;
}
.shinseikatu-product-carousel{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    scroll-padding: 0 3%;
    margin: 0 auto;
    max-width: 100%;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    overscroll-behavior-x: contain;
}
.shinseikatu-product-carousel::-webkit-scrollbar{
    height: 0;
}
.shinseikatu-product-track{
    display: flex;
    gap: 5px;
    padding: 0 3% 8px 3%;
    max-width: 900px;
}

.shinseikatu-product-card{
    flex: 0 0 28%;
    background: #fff;
    border: 2px solid #333;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 0 #333;
    text-decoration: none;
    color: #222;
    scroll-snap-align: start;
    position: relative;
}
.shinseikatu-product-info{
    padding: 5%;
    text-align: left;
    position: relative;
   
}
.shinseikatu-product-brand{
    font-weight: 400;
    margin-bottom: 5px;
     font-size: 0.8rem;
}
.shinseikatu-product-name{
    margin-bottom: 5px;
    font-size: 1rem;
    line-height: 1.5rem;
}
.shinseikatu-product-meta{
    margin-bottom: 8px;
    font-size: 0.8rem;
    
}

.shinseikatu-product-price-old{
    font-size: 0.8rem;
}
.shinseikatu-product-price-new{
    font-size: 2.8rem;
}
.shinseikatu-product-price-new small{
    font-size: 1rem;

}
.shinseikatu-product-ship{
    font-size: 1rem;
}
.shinseikatu-product-coupon{
    font-size: 0.9rem;
    padding: 2% 2%;
    border-radius: 5px;
    text-align: center;
    margin-top: 2%;
    color: #fff;
    background-color: #ff3b7a;
}
.pa{
    color: #fff;
    background-color:#FF5416 ;
}
.shinseikatu-product-badge{
    position: absolute;
    right: 5%;
    top: 68%;
    width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.shinseikatu-product-badge img{
    width: 100%;
    height: 100%;
    display: block;
}

.shinseikatu-swipebar{
    width: 100%;
    overflow-x: hidden;
    height: 10px;
       background: rgba(0, 0, 0, 0.15);
    border-radius: 999px;
    margin: 8px auto 0;
    position: relative;
    left: auto !important;
    top: auto !important;
}

.shinseikatu-swipebar span{
    position: absolute;
    left: 20%;
    top: 0;
    bottom: 0;
    width: 30%;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 999px;
}
.shinseikatu-swipebar{
    width: 100%;
    cursor: grab;
}
.shinseikatu-swipebar:active{
    cursor: grabbing;
}
}
@media (min-width: 768px) {
    .sp-bottom-menu{
        display: none !important;
    }
}
/**************PC MENU******************/
@media (min-width: 768px) {
  .pc-topback{
    position: fixed;
    right: 30px;
    bottom: 30px;
    width: 100px;
    height: auto;
    display: none;
    z-index: 200;
  }
  .pc-topback img{
    width: 100%;
    height: auto;
    display: block;
  }
  .pc-topback.is-visible{
    display: block;
  }
}
@media (min-width: 768px) {
  .pc-side-menu{
    display: none;
    position: fixed;
    right: 0;
    bottom: 180px;
    width: 230px;
    background: #fff;
    border-radius: 16px 0px 0px 16px;
    box-shadow: 0 10px 50px rgba(146, 146, 146, 0.18);
    padding: 20px 10px  20px 20px;
    z-index: 190;
  }
  .pc-side-menu.is-visible{
    display: block;
  }
  .pc-side-menu__head{
    text-align: center;
    color: #00A7AA;
    margin:10px auto 30px;
  }
  .pc-side-menu__title{
    font-weight: 800;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
  }
  .pc-side-menu__period{
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 4px;
  }
  .pc-side-menu__links{
    display: grid;
    gap: 15px;
  }
  .pc-side-menu__link{
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    gap: 10px;
    padding: 6px 6px;
    border-bottom: 1px dashed rgba(0, 167, 170, 0.35);
    text-decoration: none;
    color: #00A7AA;
    font-weight: 700;
    font-size: 0.85rem;
  }
    .pc-side-menu__link i{
        position: absolute;
        right: 20px;
    }
  .pc-side-menu__link:last-child{
    border-bottom: 0;
  }
  .pc-side-menu__icon{
    width: 20px;
    display: block;
  }
  .pc-side-menu__icon img{
    width: 20px;
    height: auto;
    display: block;
  }

  .pc-side-menu__img img{
    width: 120px;
    margin: 30px auto 10px;
  }
  .pc-side-menu__link.is-active{
    color: #ff76a1;
  }
  .pc-side-menu__icon img.pc-side-menu__icon-img--active{
    display: none;
  }
  .pc-side-menu__link.is-active .pc-side-menu__icon img.pc-side-menu__icon-img--default{
    display: none;
  }
  .pc-side-menu__link.is-active .pc-side-menu__icon img.pc-side-menu__icon-img--active{
    display: block;
  }
}
/**************PC SAKURA******************/
@keyframes sakura-pop-left {
  0% { opacity: 0; transform: translate3d(-28px, -8px, 0) scale(0.85); }
  60% { opacity: 1; transform: translate3d(0, 0, 0) scale(2); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes sakura-pop-right {
  0% { opacity: 0; transform: translate3d(28px, -8px, 0) scale(0.85); }
  60% { opacity: 1; transform: translate3d(0, 0, 0) scale(2); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@media (min-width: 768px) {
  .pc-sakura{
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: clamp(200px, 10vw, 160px);
    z-index: 60;
    pointer-events: none;
    transition: opacity 0.25s ease-out, transform 0.25s ease-out;
  }
  .pc-sakura--left{
    left: 0;
  }
  .pc-sakura--right{
    right: 0;
  }
  .pc-sakura--left.is-active{
    animation: sakura-pop-left 0.65s cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }
  .pc-sakura--right.is-active{
    animation: sakura-pop-right 0.65s cubic-bezier(0.2, 0.8, 0.2, 1) both;
  }
  .pc-sakura__inner{
    width: 100%;
    height: 100%;
    background-image: url(https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/bcimg1-a.wowma.net/plus/u39188522/pc/collabo_lp/202603/css/../img/sakurachirashi.png);
    background-repeat: repeat-y;
    background-size: contain;
    background-position: center var(--sakura-bg-y, 0px);
    opacity: 0.7;
  }
  .pc-sakura--right .pc-sakura__inner{
    transform: scaleX(-1);
  }
  .pc-sakura.is-hidden{
    opacity: 0;
    transform: translateY(-10px);
    visibility: hidden;
  }
  /***********レックダイレクト店舗***************/
.friend-area{
    width: 100%;
    margin: 0 auto;
    padding: 20px 16px 24px;
    text-align: center;
    background: #ffffff;
}
}
@media (prefers-reduced-motion: reduce) {
  .pc-sakura--left,
  .pc-sakura--right{
    animation: none;
    opacity: 1;
    transform: none;
  }
}
