/* Paired product policies: original style and quality. */
.product-policies{padding:80px 0;background:#fff}
.product-policy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-rows:auto 1fr;column-gap:6vw;max-width:1600px;margin:0 auto;padding:0 6vw}
.policy-intro{grid-column:2;grid-row:1;padding:42px 0 22px;min-width:0}
.policy-intro .section-label{margin:0 0 24px}
.policy-intro .section-label span{font-size:14px}
.policy-intro h2{font-size:clamp(26px,2.7vw,42px);font-weight:500;letter-spacing:.035em;line-height:1.7;margin:0 0 28px;overflow-wrap:anywhere}
.policy-intro>p:not(.section-label){font-size:16px;line-height:2.1;margin:0}
.policy-brands>a{display:flex;justify-content:space-between;border-bottom:1px solid;padding:15px 0;margin-top:26px;font-size:12px;font-weight:bold;max-width:320px}
.policy-photo{grid-column:1;grid-row:1 / 3;min-width:0;margin:0;position:relative;background:#b1f4f7;overflow:hidden}
.policy-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.policy-model{aspect-ratio:2/3}
.policy-model>img{position:absolute;left:8%;bottom:0;width:auto;height:86%;max-width:none;object-fit:contain}
.policy-brands{grid-column:2;grid-row:2;min-width:0;padding-bottom:30px}
.policy-brand{display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:center;padding:22px 0;border-top:1px solid #cbd7dc}
.policy-brand>img{width:110px;height:auto;aspect-ratio:1;object-fit:contain}
.policy-brand h3{font-size:20px;font-weight:500;line-height:1.7;margin:0 0 7px;overflow-wrap:anywhere}
.policy-brand h3 span{font-size:14px;display:inline-block}
.policy-brand p{font-size:16px;line-height:1.9;margin:0}
.policy-brand .policy-category{font-size:14px;color:#007fa9;margin-bottom:5px}
.policy-quality{margin-top:110px}
.policy-quality .policy-intro,.policy-quality .policy-brands{grid-column:1}
.policy-quality .policy-photo{grid-column:2;background:#edf4f6}
.policy-fabric>img{object-position:center}
.policy-fabric figcaption{position:absolute;right:16px;bottom:16px;background:#ffffffed;padding:6px 12px;font-size:12px;color:#58646a}
@media(max-width:1000px){.product-policy{column-gap:4vw;padding-inline:4vw}.policy-brand{grid-template-columns:90px minmax(0,1fr);gap:16px}.policy-brand>img{width:90px}.policy-brand h3{font-size:18px}}
@media(max-width:760px){.product-policies{padding:40px 0}.product-policy{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;padding-inline:20px}.product-policy .policy-intro{grid-column:1;grid-row:1;padding:18px 0 30px}.policy-intro h2{font-size:clamp(24px,5.8vw,34px)}.product-policy .policy-photo{grid-column:1;grid-row:2;height:460px}.policy-model>img{height:86%;left:8%}.product-policy .policy-brands{grid-column:1;grid-row:3;padding:26px 0 0}.policy-quality{margin-top:60px}.policy-quality .policy-photo{height:420px}.policy-brand{grid-template-columns:100px minmax(0,1fr);gap:18px}.policy-brand>img{width:100px}.policy-intro .section-label span{display:inline-block;margin:0 0 0 12px}}
@media(max-width:380px){.policy-brand{grid-template-columns:80px minmax(0,1fr);gap:14px}.policy-brand>img{width:80px}.policy-brand h3{font-size:17px}}

/* ときめきアイテム（business.html の .business-tokimeki と同じ見た目。TOPの右カラム幅に合わせロゴを縮小） */
.policy-tokimeki{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:24px;align-items:center;margin:26px 0 0;padding:26px;overflow:hidden;border:1px solid #d4dfe3;background:#f5f9fa}
.policy-tokimeki::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#e64a9b,#1eb6e2)}
.policy-tokimeki>img{width:120px;height:auto;aspect-ratio:1;object-fit:contain;border-radius:14px}
.policy-tokimeki h3{margin:0 0 12px;color:#202629;font-size:20px;font-weight:500;line-height:1.6}
.policy-tokimeki p{margin:0;font-size:15px;line-height:1.9}
.policy-tokimeki p+p{margin-top:14px}
.policy-tokimeki .tokimeki-tagline{color:#007fa9;font-size:clamp(15px,4.4vw,19px);line-height:1.75;letter-spacing:.035em}
.policy-tokimeki .tokimeki-tagline strong{display:inline-block;font-weight:500;white-space:nowrap}
@media(max-width:1100px){.policy-tokimeki{grid-template-columns:1fr;gap:18px}.policy-tokimeki>img{order:-1;width:110px}}
@media(max-width:560px){.policy-tokimeki{padding:22px 20px}.policy-tokimeki p:not(.tokimeki-tagline) br{display:none}}
@media(max-width:360px){.policy-tokimeki{padding:20px}.policy-tokimeki .tokimeki-tagline strong{white-space:normal}}