<style>
/* --- 0. ベース設定 --- */
.mu-wrapper { width: 100%; overflow-x: hidden; font-family: "Helvetica Neue", Arial, sans-serif; }
.mu-section { padding: 40px 10px; box-sizing: border-box; }
.mu-container { max-width: 1200px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; }
.mu-title { font-size: 24px; font-weight: bold; text-align: center; margin: 0 0 30px; color: #333; letter-spacing: 0.05em; border: none; }
.mu-wrapper img { max-width: 100%; height: auto; vertical-align: bottom; }
.mu-wrapper a { text-decoration: none; color: inherit; transition: opacity 0.3s; }
.mu-wrapper a:hover { opacity: 0.8; }

/* --- 1. スライドショー（4枚・黒くならない切り替え） --- */
.mu-slideshow {
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
}

.mu-slides-inner {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.mu-slide-item {
  grid-area: 1 / 1;
  width: 100%;
  opacity: 0;
  z-index: 1;
  transform: scale(1);
  transform-origin: center center;
  will-change: opacity, transform;
}

.mu-slide-item a {
  display: block;
  width: 100%;
}

.mu-slide-item img {
  display: block;
  width: 100%;
  height: auto;
}

/*
4枚を8秒ずつ表示
次の画像を下に表示してから、
現在の画像だけをフェードアウトします。
*/
.mu-slide-item:nth-child(1) {
  animation: muNaturalFade 32s 0s infinite;
}

.mu-slide-item:nth-child(2) {
  animation: muNaturalFade 32s -24s infinite;
}

.mu-slide-item:nth-child(3) {
  animation: muNaturalFade 32s -16s infinite;
}

.mu-slide-item:nth-child(4) {
  animation: muNaturalFade 32s -8s infinite;
}

@keyframes muNaturalFade {
  /* メイン表示 */
  0% {
    opacity: 1;
    z-index: 2;
    transform: scale(1);
  }

  /* 6秒間はそのまま表示 */
  18.75% {
    opacity: 1;
    z-index: 2;
    transform: scale(1.04);
  }

  /* 2秒かけてフェードアウト */
  25% {
    opacity: 0;
    z-index: 2;
    transform: scale(1.05);
  }

  /* フェードアウト後は背面へ */
  25.01% {
    opacity: 0;
    z-index: 1;
    transform: scale(1);
  }

  /* 次の表示に備える */
  87.49% {
    opacity: 0;
    z-index: 1;
    transform: scale(1);
  }

  /*
  前の画像の下で先に完全表示。
  上の画像に隠れているため、この切り替えは見えません。
  */
  87.5% {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
  }

  100% {
    opacity: 1;
    z-index: 1;
    transform: scale(1);
  }
}

/* --- ULOOK 夏バナー --- */
.mu-ulook-promo {
  background: #fff;
  padding: 18px 10px 16px;
}

.mu-ulook-banner {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 16px rgba(0,0,0,0.12);
  transition: transform 0.3s, box-shadow 0.3s, opacity 0.3s;
}

.mu-ulook-banner:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  opacity: 0.95;
}

.mu-ulook-banner img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* --- 2. インフォメーション（NEWS） ★強調デザイン --- */
.mu-news-section { background: #fff; padding: 20px 10px; }
.mu-news-box {
  background: #fff;
  border: 4px solid #0077be; /* 青い太枠 */
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0, 119, 190, 0.1);
}
.mu-news-header {
  margin-bottom: 15px; border-bottom: 2px solid #eee; padding-bottom: 10px;
}
.mu-news-icon {
  background: #0077be; color: #fff; font-weight: 900; font-size: 16px; 
  padding: 5px 15px; border-radius: 4px; display: inline-block; letter-spacing: 0.05em;
}
.mu-news-slider { min-height: auto; }
.mu-news-item { outline: none; }
.mu-news-content {
  display: flex; align-items: flex-start; flex-wrap: wrap;
}
.mu-news-date { 
  font-weight: bold; font-size: 14px; color: #0077be; white-space: nowrap; margin-right: 15px;
}
.mu-news-text { 
  text-align: left; line-height: 1.6; font-size: 15px; color: #333; font-weight: bold;
}

/* --- 3. 商品一覧（★修正：Flexboxに戻してサイズ適正化） --- */
.mu-products { background: #f9f9f9; }
.mu-product-flex { 
  display: flex; 
  flex-wrap: wrap; 
  gap: 20px; 
  justify-content: center;
}
.mu-card { 
  background: #fff; 
  /* PCでは4列（約25%） */
  width: calc(25% - 15px); 
  min-width: 200px;
  box-sizing: border-box;
  border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: #333; transition: 0.3s; 
}
.mu-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); }
.mu-card-img { position: relative; aspect-ratio: 1 / 1; border-bottom: 1px solid #f0f0f0; display: flex; align-items: center; justify-content: center; background: #fff; }
.mu-card-img img { width: 90%; height: 90%; object-fit: contain; }
.mu-badge-new { position: absolute; top: 0; left: 0; background: #e53935; color: #fff; font-size: 11px; font-weight: bold; padding: 4px 8px; border-radius: 0 0 6px 0; }
.mu-badge-sale { position: absolute; top: 0; left: 0; background: #ff9800; color: #fff; font-size: 11px; font-weight: bold; padding: 4px 8px; }
.mu-badge-sold { position: absolute; top: 0; left: 0; background: #555; color: #fff; font-size: 11px; font-weight: bold; padding: 4px 8px; }
.mu-card-body { padding: 15px; text-align: center; flex-grow: 1; }
.mu-card-name { font-size: 13px; margin-bottom: 8px; font-weight: 500; line-height: 1.4; word-break: break-all; }
.mu-card-price { font-size: 15px; color: #ff6700; font-weight: bold; }

/* --- 4. コンセプト --- */
.mu-info { background: #fff; }
.mu-info-wrap { 
  background: #fff; border-radius: 10px; overflow: hidden; 
  box-shadow: 0 5px 20px rgba(0,0,0,0.05); border: 1px solid #eee;
}
.mu-info-img { width: 100%; height: 350px; background-size: cover; background-position: center; }
.mu-info-text { padding: 40px; font-size: 15px; line-height: 1.8; color: #333; text-align: left; }
.mu-info-heading { margin-top: 0; color: #0077be; font-weight: bold; font-size: 20px; margin-bottom: 15px; }

/* --- 5. バナー（白文字） --- */
.mu-banner-grid { display: flex; gap: 20px; }
a.mu-banner-item { 
  flex: 1; padding: 25px 20px; border-radius: 8px; text-align: center; 
  color: #fff !important; display: flex; flex-direction: column; justify-content: center; min-height: 100px; 
  text-decoration: none; box-shadow: 0 4px 10px rgba(0,0,0,0.1); transition: transform 0.3s;
}
a.mu-banner-item:hover { transform: translateY(-3px); opacity: 0.9; }
a.mu-banner-item.blue { background: linear-gradient(135deg, #007bff, #0056b3); }
a.mu-banner-item.black { background: linear-gradient(135deg, #333333, #1a1a1a); }
a.mu-banner-item small { font-size: 12px; margin-bottom: 5px; opacity: 0.9; color: #fff !important; display: block; }
a.mu-banner-item strong { font-size: 20px; text-shadow: 0 1px 2px rgba(0,0,0,0.2); color: #fff !important; display: block; }

/* --- 6. その他 --- */
.mu-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.mu-cat-card { height: 150px; background-size: cover; background-position: center; border-radius: 8px; position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.mu-cat-card span { width: 100%; background: rgba(0,0,0,0.6); color: #fff; text-align: center; padding: 8px; font-weight: bold; font-size: 13px; }
.mu-links-grid { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.mu-links-grid a { width: calc(20% - 10px); min-width: 160px; padding: 15px; border: 1px solid #ddd; border-radius: 4px; text-align: center; background: #fff; font-size: 13px; font-weight: bold; }

/* ========================================
   スマホ専用調整 (Max-Width 767px)
======================================== */
@media screen and (max-width: 767px) {
  .mu-section { padding: 30px 10px; }
  .mu-container { padding: 0; }

  /* ULOOKバナー：スマホでは画像を切らずに全体表示 */
  .mu-ulook-promo {
    padding: 14px 10px 12px;
  }

  .mu-ulook-banner {
    border-radius: 6px;
  }

  .mu-ulook-banner img {
    height: auto;
    object-fit: contain;
  }

  /* 2. ニュース */
  .mu-news-content { flex-direction: column; }
  .mu-news-date { margin-right: 0; margin-bottom: 5px; display: inline-block; background: #eee; color: #333; padding: 2px 8px; border-radius: 4px; }
  
  /* 3. 商品一覧：スマホでは2列 (Flexbox) */
  .mu-card { 
    width: calc(50% - 5px); /* 2列表示 */
    min-width: 0; 
  }
  .mu-product-flex { gap: 10px; }
  .mu-card-body { padding: 10px 5px; }
  .mu-card-name { font-size: 12px; height: 2.8em; overflow: hidden; }
  .mu-card-price { font-size: 14px; }

  /* 4. コンセプト */
  .mu-info-img { height: 200px; }
  .mu-info-text { padding: 20px 15px; font-size: 14px; line-height: 1.6; }
  
  /* 5. その他 */
  .mu-banner-grid { flex-direction: column; }
  .mu-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .mu-links-grid a { width: 100%; }
}
</style>