/* === PC専用メッセージバー === */
.top-message-bar{display:block;background:#f4f4f4;color:#111;text-align:center;font-size:14px;font-weight:500;letter-spacing:0.5px;padding:10px 15px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;box-sizing:border-box;}
@media(max-width:768px){.top-message-bar{display:none;}}

.p-top-logo{font-size:20px;line-height:1.4;max-width:80%;margin:20px auto;text-align:center;}
.p-top-logo a{display:block;transition:opacity .2s;text-decoration:none;color:#333;}
.p-top-logo a:hover{opacity:.66;}
.p-top-logo a:active{opacity:1;}
.logo-pc{display:block;}
.logo-mobile{display:none;}
@media screen and (max-width:768px){.logo-pc{display:none;}.logo-mobile{display:block;}}

/* レスポンシブ対応 */
@media screen and (min-width:600px){
.p-top-logo{display:none;}
#p-slider .bx-pager{bottom:30px;}
.p-contents__list li::before{top:0;}
.p-contents__list li{float:left;width:50%;margin-bottom:20px;}
.p-contents__list li:nth-child(2n + 1){clear:left;}
.p-contents__list a{display:inline-block;padding:0;}
.p-custom-banner{display:table;width:100%;margin-top:100px;table-layout:fixed;}
.p-custom-banner__unit{display:table-cell;box-sizing:border-box;width:50%;max-width:50%;vertical-align:middle;word-break:break-all;}
.p-custom-banner__unit--text{padding:10px 20px;}
}

/* スマートフォン用ナビゲーション */
@media screen and (max-width:767px){
.c-pager{display:block;text-align:center;margin-top:20px;}
.c-pager__list{display:inline-block;margin:0;padding:0;}
.c-pager__list-item{display:inline;margin:0;padding:0;}
.c-pager__link{display:inline-block;margin:0;padding:5px 10px;}
}

.fc-day.sat{background-color:rgba(172,224,249,0.5);}
.fc-day.sun{background-color:rgba(249,194,163,0.5);}
.shopsection{position:relative;margin:0 10px 20px;border-bottom:1px solid #ccc;}
.shopsection img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* &#9989; 比率固定（4:3などに変更可） */
  object-fit: cover;    /* &#9989; トリミングして中央を保つ */
  display: block;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .shopsection img {
    aspect-ratio: 4 / 3; /* スマホではやや縦長に調整 */
  }
}
.layout-text{font-size:16px;color:#555;}
.address{font-size:16px;font-weight:bold;color:#333;}
.address-icon{font-size:24px;color:#007BFF;margin-right:10px;}
.map-container{width:100%;height:500px;}
.contact-info-s{display:flex;justify-content:space-around;align-items:flex-start;margin:0;width:100%;}
.contact-item-s{flex:1;text-align:center;padding:10px;margin:0 10px;box-sizing:border-box;}
.contact-label-s{font-weight:bold;}
.contact-item-s:first-child{margin-left:0;}
.contact-item-s:last-child{margin-right:0;}
.contact-value-s a{font-weight:bold;text-decoration:none;color:#333;}
.contact-item-s i{font-size:24px;margin-top:30px;}
.status-icon{position:absolute;top:5px;right:5px;color:#fff;background:green;padding:5px;margin:10px;border-radius:5px;z-index:10;text-align:left;font-size:24px;}

.c-product-list{background:#f0f0f0;padding-bottom:10px;border-radius:5px;}
.c-product-list__button{display:block;clear:both;width:100%;margin:20px 0 10px;text-align:center;padding:0 0 15px;}
.c-product-list__button .c-button{margin:0 auto;display:inline-block;font-weight:bold;min-width:300px;padding:15px;text-indent:15px;background:#fff;color:#333;border:1px solid #ccc;border-radius:5px;transition:background-color .3s,color .3s;}
.c-product-list__button .c-button:hover{background:#ddd;color:#000;}

/* ======= 新プロモーションセクション（再設計版） ======= */
.p-promo-section{max-width:1100px;margin:0 auto;padding:40px 20px;box-sizing:border-box;text-align:center;}
.p-promo-banner{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:40px;}
.p-promo-banner img{width:100%;max-width:520px;border-radius:6px;transition:opacity .3s ease;}
.p-promo-banner img:hover{opacity:.8;}
.p-promo-title{font-size:20px;font-weight:700;color:#222;margin:40px 0 20px;border-bottom:2px solid #6b8e23;display:inline-block;padding-bottom:6px;}
.p-promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:0 auto 40px;list-style:none;padding:0;}
.p-promo-grid li{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:20px;box-sizing:border-box;transition:box-shadow .3s ease;}
.p-promo-grid li:hover{box-shadow:0 3px 10px rgba(0,0,0,.08);}
.p-promo-grid i{font-size:28px;color:#6b8e23;margin-bottom:12px;}
.p-promo-grid p{font-size:14px;line-height:1.6;color:#333;margin:0;}
.p-simple-link{display:inline-block;margin-top:6px;font-size:12px;color:#6b8e23;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.p-simple-link:hover{border-color:#6b8e23;}
.p-promo-button{text-align:center;margin:20px 0 10px;}
.p-button{display:inline-block;padding:10px 30px;background:#6b8e23;color:#fff;font-weight:700;border-radius:4px;text-decoration:none;transition:background .3s;}
.p-button:hover{background:#4a6f1e;}
@media(max-width:768px){
.p-promo-grid{grid-template-columns:repeat(2,1fr);gap:15px;}
.p-promo-banner img{max-width:100%;}
.p-promo-title{font-size:18px;}
}

/* ニュース */
.news-container{width:100%;overflow:hidden;border:1px solid #ddd;background:#f9f9f9;margin-bottom:50px;box-sizing:border-box;}
.news-list{display:flex;margin:0;padding:0;list-style:none;transition:transform .5s ease-in-out;}
.news-item{min-width:100%;box-sizing:border-box;padding:15px;text-align:left;font-family:Arial,sans-serif;}
.news-date{font-size:14px;color:#888;display:block;margin-bottom:5px;}
.news-message{font-size:16px;color:#333;text-decoration:none;}
.news-message:hover{text-decoration:underline;}
@media screen and (max-width:768px){
.news-container{overflow-x:hidden;}
.news-item{line-height:1.8;font-size:12px;padding:8px 15px;}
.news-date{font-size:10px;}
.news-message{font-size:13px;}
}

/* イメージリンクセクション */
.image-container{display:flex;gap:10px;justify-content:center;align-items:center;max-width:1240px;margin:0 auto;}
.image-container img{filter:brightness(1);transition:filter .3s ease;}
.image-container img:hover{filter:brightness(.66);}
@media(min-width:768px){.image-container img{max-width:615px;}}
@media(max-width:767px){.image-container img{max-width:175px;}}

/* ===== 商品カード構造（natural-ranking） ===== */
.natural-ranking-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;padding:0;list-style:none;background:#fff;justify-content:center;}
.natural-ranking-item{background:#fff;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.1);overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease;}
.natural-ranking-item:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(0,0,0,.15);}
.natural-ranking-imagewrap{display:flex;justify-content:center;align-items:center;height:120px;background:#fff;padding:10px;}
.natural-ranking-item img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:6px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.natural-ranking-category{font-size:11px;color:#777;margin:8px 10px 2px;font-weight:500;}
.natural-ranking-name{font-weight:700;font-size:12px;line-height:1.4;margin:2px 10px 4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.natural-ranking-name a{color:#222;text-decoration:none;transition:color .2s ease;}
.natural-ranking-name a:hover{color:#4CAF50;}
.natural-ranking-stars{display:inline-flex;gap:1px;font-size:12px;color:#f5a623;margin:0 10px 6px;}
.natural-ranking-stars .star{color:#ccc;}
.natural-ranking-stars .star.filled,.natural-ranking-stars .star.half{color:#f5a623;}
.natural-ranking-desc{font-size:11px;color:#666;margin:0 10px 8px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;}
.natural-ranking-price{margin:0 10px 6px;font-weight:700;color:#222;}
.natural-ranking-price .discount{color:#d00;margin-right:6px;}
.natural-ranking-price .natural-ranking-regular{color:#888;text-decoration:line-through;font-weight:500;}
.natural-ranking-low{display:inline-block;background:#f6c343;color:#222;font-weight:600;font-size:11px;padding:1px 8px;border-radius:6px;margin:0 10px 6px;}
.natural-ranking-soldout{display:inline-block;background:#d32f2f;color:#fff;font-weight:700;font-size:11px;padding:1px 8px;border-radius:6px;margin:0 5px 6px;box-shadow:0 1px 2px rgba(0,0,0,.1);}
.natural-ranking-new{position:absolute;top:8px;left:10px;font-size:11px;color:#1976d2;background:#e3f2fd;border-radius:3px;padding:1px 4px;font-weight:600;}
.natural-ranking-recent{position:absolute;top:8px;right:10px;font-size:12px;color:#f56223;background:#fff8f3;border-radius:3px;padding:1px 4px;}
.natural-ranking-index{position:absolute;top:6px;left:6px;background:#555;color:#fff;font-size:14px;font-weight:700;padding:2px 8px;border-radius:5px;}
.natural-ranking-index--1{background:linear-gradient(45deg,#ffd700,#f0c000);}
.natural-ranking-index--2{background:linear-gradient(45deg,#c0c0c0,#b0b0b0);}
.natural-ranking-index--3{background:linear-gradient(45deg,#cd7f32,#b8742a);}
@media(max-width:768px){
.natural-ranking-list{grid-template-columns:repeat(2,1fr);gap:12px;padding:0 6px;}
.natural-ranking-imagewrap{height:150px;padding:8px;}
}
