@charset "utf-8";

*,.article-body *{box-sizing:border-box}
.article-body{max-width:800px;margin:0 auto;padding:80px 16px 60px;font-family:'Hiragino Sans','Noto Sans JP',sans-serif;color:#1a1a1a;line-height:1.8}
.article-title{font-size:22px;font-weight:700;margin:24px 0 8px;line-height:1.4}
.article-mv{margin:0 0 24px;width:100%}
.article-mv img{width:100%;height:auto;display:block}
.article-date{font-size:12px;color:#888;margin:0 0 28px}
.article-heading{font-size:17px;font-weight:700;margin:64px 0 12px;padding-left:10px;border-left:3px solid #c8a96e;line-height:1.5}
.article-text{font-size:16px;line-height:1.9;margin:0 0 36px;white-space:pre-line}
.article-image { margin: 0 0 40px; width: 100%; display: flex; flex-direction: column; }
.article-image__item { position: relative; width: 100%; max-width: 720px; margin: 0 0 16px; }
.article-image__item a { display: block; text-decoration: none; }
.article-image__item img { width: 100%; height: auto; display: block; }
.article-image__caption { font-size: 12px; color: #666; margin: 6px 0 0; line-height: 1.5; text-align: left; }
.article-image--grid.is-limited-75 .article-image__item { max-width: 540px; }
.article-image--slider-wrap { position: relative; margin: 0 0 40px; }
.article-image--slider-wrap.align-center { display: flex; justify-content: center; }
.article-image--slider-wrap.align-left { display: block; }
.article-image--slider-wrap.width-75 .article-image--slider { width: 75%; }
.article-image--slider-wrap.width-75.align-center .article-image--slider { margin: 0 auto; }
.article-image--slider-wrap.has-next .next-arrow { display: flex; }
.next-arrow { display: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: rgba(255,255,255,0.9); border: 1px solid #ddd; border-radius: 50%; align-items: center; justify-content: center; font-size: 20px; color: #1a1a1a; z-index: 10; pointer-events: none; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.article-image--slider-wrap.width-75 .next-arrow { right: calc(25% - 22px); }
/* ★ flex-direction: row で縦並びルールを上書き */
.article-image--slider { position: relative; display: flex; flex-direction: row; gap: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; padding-bottom: 8px; scrollbar-width: none; }
.article-image--slider::-webkit-scrollbar { display: none; }
/* ★ max-width: none / width: auto でアイテム幅の競合を解消 */
.article-image--slider .article-image__item { margin: 0; flex-shrink: 0; width: auto; max-width: none; }
.article-image--slider.type-50-2col .article-image__item { flex: 0 0 calc((100% - 12px) / 2); scroll-snap-align: start; }
.article-image--slider.type-75 .article-image__item { flex: 0 0 100%; scroll-snap-align: start; }
@media(max-width:480px){
  .article-image--slider .article-image__item { flex: 0 0 calc((100% - 8px) / 2); }
  .article-image--slider.type-75 .article-image__item { flex: 0 0 100%; }
  .article-image--slider-wrap.width-75 .article-image--slider { width: 85%; }
  .article-image--slider-wrap.width-75 .next-arrow { right: calc(15% - 22px); }
}
.article-image-group{margin:0 0 24px}
.article-image-group__item{position:relative}
.article-image-group__item a{display:block;text-decoration:none}
.article-image-group__item img{width:100%;height:auto;display:block}
.article-image-group__caption{font-size:11px;color:#888;margin:4px 0 0;line-height:1.4}
.article-image-group--slider{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px}
.article-image-group--slider::-webkit-scrollbar{height:4px}
.article-image-group--slider::-webkit-scrollbar-track{background:#f0ede6}
.article-image-group--slider::-webkit-scrollbar-thumb{background:#c8a96e;border-radius:2px}
.article-image-group--slider .article-image-group__item{flex:0 0 calc(25% - 8px);scroll-snap-align:start;min-width:100px}
.article-image-group--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.article-items{margin:0 0 24px}
.article-item{position:relative}
.article-item a{display:block;text-decoration:none;color:inherit}
.article-item img{width:100%;height:auto;display:block;margin-bottom:6px}
.article-item__name{font-size:12px;font-weight:600;line-height:1.4;margin:0 0 4px;color:#1a1a1a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-item__price{font-size:13px;font-weight:700;color:#c0392b;margin:0}
.article-items--slider{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:8px}
.article-items--slider::-webkit-scrollbar{height:4px}
.article-items--slider::-webkit-scrollbar-track{background:#f0ede6}
.article-items--slider::-webkit-scrollbar-thumb{background:#c8a96e;border-radius:2px}
.article-items--slider .article-item{flex:0 0 calc(50% - 6px);scroll-snap-align:start}
.article-items--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.article-link{margin:16px 0;border:1px solid #ddd;border-radius:4px}
.article-link a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;text-decoration:none;color:#1a1a1a;font-size:14px;font-weight:600;transition:background 0.15s}
.article-link a::after{content:'›';font-size:20px;color:#888}
.article-link a:hover{background:#f8f8f5}
@media(max-width:480px){
  .article-title{font-size:18px}
  .article-heading{font-size:15px;margin:32px 0 12px}
  .article-text{font-size:14px;margin:0 0 24px}
  .article-image-group--grid{grid-template-columns:repeat(2,1fr)}
  .article-items--grid{grid-template-columns:repeat(2,1fr)}
}



