.hana-family{padding:clamp(48px,7vw,88px) 24px;background:#faf8f1;text-align:center;color:#273b30}
.hana-family h2{margin:0;font-size:clamp(28px,4.5vw,48px);line-height:1.4;letter-spacing:-.03em}
.hana-family-copy{margin:16px 0 0;font-size:clamp(15px,2vw,18px);line-height:1.8;color:#59665c}
.hana-family-hint{margin:12px 0 28px;font-size:13px;color:#59665c}
.hana-family-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;max-width:1280px;margin:0 auto}
.hana-family-card{display:block;aspect-ratio:1;background:#fff;border-radius:18px;overflow:hidden;position:relative;padding:0;box-sizing:border-box;cursor:zoom-in;border:1px solid #eeeadd}
.hana-family-card img{display:block;position:absolute;width:var(--family-width,100%);max-width:none;height:auto;left:var(--family-left,0%);top:var(--family-top,0%)}
.hana-family-card:focus-visible{outline:3px solid #18634e;outline-offset:4px}
@media(max-width:1000px){.hana-family-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
@media(max-width:760px){.hana-family-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hana-family{padding:48px 16px}.hana-family-card{border-radius:12px}}
@media(max-width:480px){.hana-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

footer .closing-thanks{margin:48px auto 16px;font-size:clamp(24px,4vw,38px);font-weight:600;line-height:1.8;letter-spacing:.08em;text-align:center;padding:0 16px}
