.product-visual.product-photo {
  height: auto;
  aspect-ratio: 1 / 1;
  background: #f8efe7;
}

.product-visual.product-photo::before,
.product-visual.product-photo::after {
  display: none;
}

.product-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-visual.cream {
  background: linear-gradient(145deg, #f6ebe2, #ead9cb);
}
.product-detail-link{display:inline-block;color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:4px;margin:.2rem 0 1rem}

/* 一覧では元画像の見出しと余白を隠し、商品本体を揃える */
.product-card.bath-scaled .product-visual.product-photo{background:#fff}
.product-card.bath-scaled .product-photo a{
  display:block;
  width:88%;
  height:65%;
  overflow:hidden;
  position:absolute;
  top:32%;
  left:6%;
}
.product-card.bath-scaled .product-photo img{
  width:100%;
  height:auto;
  transform:translateY(-32%);
}
.bath-photo-heading{
  position:absolute;
  inset:10% 5% auto;
  text-align:center;
  color:#66554b;
  z-index:1;
  line-height:1.25;
}
.bath-photo-heading strong{display:block;font:700 clamp(1.25rem,2vw,1.9rem)/1.25 "Noto Serif JP",serif}
.bath-photo-heading small{display:block;margin-top:.3rem;font-size:clamp(.72rem,1vw,.9rem);color:#26322d}
.bath-photo-kicker{position:absolute;top:2%;left:5%;z-index:1;margin:0;color:#26322d;font-size:clamp(.7rem,1vw,.95rem);line-height:1.3}
.legal dl{margin:0;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:8px;overflow:hidden}
.legal dl div{grid-template-columns:minmax(170px,28%) 1fr;gap:1.5rem;padding:1.1rem 1.35rem}
.legal dl div:nth-child(even){background:#faf8f3}
.legal dd{line-height:1.7}
.legal dd a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-pending{display:inline-block;margin:0 .7rem .25rem 0;padding:.1rem .55rem;border-radius:999px;background:#f7eadb;color:#86533a;font-size:.75rem;font-weight:700;white-space:nowrap}
.legal-reminder{margin:1rem 0 0;color:var(--muted);font-size:.85rem}
@media(max-width:620px){.legal dl div{grid-template-columns:1fr;gap:.3rem;padding:1rem}.legal dt{font-size:.92rem}}
.new-lineup-heading{margin:3.8rem 0 1.4rem;border-top:1px solid var(--line);padding-top:2.4rem}
.new-lineup-heading h3{font:700 clamp(1.5rem,2.6vw,2.2rem)/1.5 "Noto Serif JP",serif;margin:.2rem 0}
.new-lineup-heading p:last-child{color:var(--muted);margin:.4rem 0 0}
.new-product-grid .product-photo{background:#faf9f5}
.new-product-grid .product-photo a{display:block;width:100%;height:100%}
.new-product-grid .product-photo img{padding:1rem;object-fit:contain}
.new-product-grid .rice-home-photo{display:block;aspect-ratio:auto;height:auto;min-height:0;background:#fff}
.new-product-grid .rice-home-photo a{display:block;width:100%;height:auto}
.new-product-grid .rice-home-photo img{display:block;width:100%;height:auto;max-width:100%;padding:0;object-fit:contain}
.rice-home-details{display:none}
.new-product-grid .radon-home-photo{display:block;aspect-ratio:auto;height:auto;background:#fff}
.new-product-grid .radon-home-photo a{display:block;position:static;height:auto}
.new-product-grid .radon-home-photo img{display:block;position:static;width:100%;max-width:100%;height:auto;padding:0;transform:none}
.new-product-grid .biseki-home-photo img{padding:0;object-fit:cover;object-position:center 52%}
.product-body .manufacturer{font-size:.82rem;color:var(--muted);margin:.55rem 0 .35rem}
.new-product-grid .cat-photo{display:block;aspect-ratio:auto;height:auto;min-height:0;background:#fff}
.new-product-grid .cat-photo a{display:block;position:static;width:100%;height:auto}
.new-product-grid .cat-photo img{display:block;position:static;width:100%;max-width:100%;height:auto;padding:0;object-fit:contain;transform:none}
.new-product-grid .necklace-photo img{padding:0;object-fit:cover;object-position:center bottom;transform:scale(1.15);transform-origin:center bottom}
.new-product-grid .product-body>p:not(.tag){min-height:5.4em}
.new-product-grid .product-foot strong{font-size:.84rem}
.order-illustration{display:block;width:100%;max-width:480px;height:auto;margin:3rem auto 0;object-fit:contain}
@media(max-width:620px){.order-illustration{max-height:220px;margin:1.5rem auto 0}}
