  :root {
    --bg:#fff;
    --text:#222;
    --muted:#666;
    --border:#e5e7eb;
  }
  *{box-sizing:border-box}
  img{max-width:100%;height:auto;display:block}
  a{color:inherit;text-decoration:none}
  a:hover{opacity:.85}
  .container{width:min(1100px,94%);margin-inline:auto}
  header{padding:20px 0;border-bottom:1px solid var(--border)}
  .page-title{margin:0;font-size:22px;font-weight:700}
  .page-subtitle{margin:.25rem 0 0;color:var(--muted)}
  main{padding-block:24px}
  .section{margin-block:32px}
  .section-title{font-size:18px;margin:16px 0}
    
    
    /* 見出し部分 */
    .page-header {
      text-align: center;
      padding: 40px 20px 20px;
    }

    .page-header h1 {
      margin-bottom: 10px;
      position: relative;
      display: inline-block;
    }

    .page-header h1::after {
    content: "";
    display: block;
    position: absolute;
    padding: 2px 100px;
    background: linear-gradient(90deg, #EB6203, #F8BF61) 0% 0% no-repeat;
    top: 120%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    }

    .page-header p {
      max-width: 800px;
      margin: 50px auto 0;
      color: #555;
    }    

    .gallery-section {
      text-align: center;
    }

    .gallery-section h2 {
      background: #777;
      color: #fff;
      display: inline-block;
      padding: 10px 30px;
      margin-bottom: 30px;
      width: 100%;    
    }
  /* ギャラリー＆商品ブロック */
  .gallery-block{background:#f9f9f9;padding:16px;border-radius:8px}
  .gallery .main-image img{
    width:100%;max-width:450px;margin-bottom:12px;object-fit:cover;border-radius:6px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);margin: 12px auto;
  }
  .gallery .thumbnails{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
  .gallery .thumb{
    width:70px;height:70px;object-fit:cover;cursor:pointer;
    border:2px solid transparent;border-radius:4px;
    transition:border .25s,transform .15s;
  }
  .gallery .thumb:hover{border-color:#aaa;transform:scale(1.05)}
  .gallery .thumb.active{border-color:#333}

  /* 商品リスト */
  .product-list{display:grid;gap:14px;margin-top:16px}
  .product-item{
    display:flex;align-items:center;gap:12px;
    border:1px solid var(--border);border-radius:6px;padding:10px;background:#fff;
  }
  .product-thumb{width:72px;height:72px;flex-shrink:0}
  .product-thumb img{width:100%;height:100%;object-fit:cover;border-radius:4px}
  .product-meta h3{margin:0;font-size:15px}
  .product-meta a{text-decoration:underline;text-underline-offset:3px}
  .product-price{margin:4px 0 0;font-weight:700;font-size:14px}
    
    /* product-header を横並びに */
.product-meta .product-header {
  display: flex;
  align-items: center;
  gap: 8px; /* タイトルと価格の間隔 */
  flex-wrap: wrap;
}
.product-meta {
    text-align: left;
}
/* 商品説明文 */
.product-meta .product-desc {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
p.product-desc {
    text-align: left;
}
  /* もっと見る */
  .more-area{display:flex;justify-content:center;margin-top:16px}
  .btn-more{
    display:inline-block;padding:8px 16px;border:1px solid var(--border);border-radius:999px;
    background:#fff;font-weight:700;font-size:14px
  }

  /* レイアウト（ギャラリーブロックを横並び） */
  .gallery-row{display:grid;gap:24px}
  @media(min-width:900px){
    .gallery-row{grid-template-columns:repeat(2,1fr)}
  }