.sns-directory{background:#f7f4eb;color:#171610;padding:48px 24px 64px}.sns-directory__header{max-width:820px;margin:0 auto 36px;text-align:center}.sns-directory__eyebrow{color:#735600;font-size:14px;font-weight:700;letter-spacing:.18em;margin:0 0 14px}.sns-directory h1{font-size:clamp(32px,4vw,48px);line-height:1.15;text-transform:none;margin:0 0 18px}.sns-directory__header>p:last-child{font-size:18px;line-height:1.6;margin:0}.sns-directory__grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.sns-directory__card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #b99a4b;border-radius:5px;background:#fffdf8;box-shadow:0 4px 14px rgba(23,22,16,.05)}.sns-directory__photo,.sns-directory__placeholder{position:relative;height:0;padding-bottom:100%;background:#fff;overflow:hidden}.sns-directory__photo img{position:absolute;inset:16px;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;object-fit:contain}.sns-directory__placeholder{height:auto;aspect-ratio:1;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#eee7d5;color:#735600;text-align:center}.sns-directory__placeholder>span{font-size:28px}.sns-directory__placeholder small{font-size:13px;letter-spacing:.12em;text-transform:uppercase}.sns-directory__content{padding:22px 18px;display:flex;flex-direction:column;flex:1;text-align:center}.sns-directory h2{font-size:20px;line-height:1.3;letter-spacing:.02em;margin:0 0 20px;min-height:2.6em;display:flex;align-items:center;justify-content:center}.sns-directory__links{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.sns-directory__links>a{flex:1;min-width:95px;background:#171610;color:white;min-height:46px;padding:12px 10px;text-decoration:none;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:3px}.sns-directory__links>a:hover{background:#735600}.sns-directory__links>a:focus-visible{outline:3px solid #a28128;outline-offset:4px}.sns-directory__links>span{font-size:13px;color:#65583b;padding:12px 0;flex-basis:100%}@media(max-width:999px){.sns-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:749px){.sns-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sns-directory{padding:32px 16px}.sns-directory__content{padding:18px 12px}}@media(max-width:399px){.sns-directory__grid{grid-template-columns:1fr}}
