/* Customer voices follow company information; Instagram follows the blog. */
.customer-voices,.field-social{--social-green:#285d49;--social-ink:#254d40;--social-muted:#60766b;--social-line:#ccdbd0;--social-gold:#9a7027;--social-paper:#fff;--social-mint:#f1f6f0;--social-focus:#a77b32}
.customer-voices{background:var(--social-mint);border-block:1px solid var(--social-line)}
.social-section-head{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:32px}
.social-section-head h2{font:900 clamp(26px,3vw,38px)/1.65 var(--body);letter-spacing:.04em;color:var(--social-ink);margin:14px 0 0}
.google-review-score{flex:none;border-left:1px solid var(--social-line);padding-left:48px;min-width:240px}
.review-source-name{font:700 15px/1.6 var(--body);color:var(--social-ink)}
.google-review-score>div{display:flex;align-items:baseline;gap:9px;margin:4px 0}
.google-review-score strong{font:700 64px/1.1 var(--body);letter-spacing:-.06em;color:var(--social-ink)}
.review-score-scale{font:500 20px var(--body);color:var(--social-muted)}
.google-review-score>p{display:flex;align-items:center;gap:7px;margin:6px 0 0;font-size:12px;color:var(--social-muted)}
.review-stars{display:block;font:700 17px/1.5 var(--body);letter-spacing:.12em;color:var(--social-gold)}
.google-review-score .review-stars{font-size:14px}
.review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}
.social-note{font:500 12px/1.9 var(--body);color:var(--social-muted);margin:0}
.review-controls{display:flex;gap:10px}
.review-controls button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--social-line);border-radius:50%;background:var(--social-paper);color:var(--social-ink);cursor:pointer;transition:background .15s}
.review-controls button:disabled{opacity:.35;cursor:default}
.review-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.review-controls button:not(:disabled):hover{background:var(--mint)}
.review-track{display:flex;align-items:stretch;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--social-line) transparent}
.customer-review{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;min-width:0;background:var(--social-paper);border:1px solid var(--social-line);border-radius:5px;padding:25px;box-sizing:border-box}
.customer-review>header{display:flex;align-items:center;gap:11px;margin-bottom:15px}
.review-avatar{position:relative;display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--mint);color:var(--social-green);font:700 16px var(--body)}
.review-avatar img{position:absolute;inset:0;width:40px;height:40px;object-fit:cover}
.customer-review h3{margin:0;font:700 14px/1.5 var(--body);overflow-wrap:anywhere;color:var(--social-ink)}
.customer-review header p{margin:4px 0 0;font:400 10px/1.5 var(--body);color:var(--social-muted)}
.review-body{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font:400 14px/1.95 var(--body);color:var(--ink);margin:12px 0 0;overflow-wrap:anywhere}
.customer-review.is-expanded .review-body{display:block;overflow:visible}
.review-expand{display:block;min-height:44px;margin:6px 0 0;padding:8px 0 0;border:0;background:none;color:var(--social-green);font:700 12px/1.5 var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.review-expand[hidden],.instagram-post[hidden],.instagram-actions>button[hidden],.review-avatar img[hidden],.instagram-photo img[hidden]{display:none}
.social-source-note{margin:15px 0 0;font:400 10px/1.8 var(--body);color:var(--social-muted)}
.field-social{background:var(--social-paper)}
.instagram-handle{margin:16px 0 0;color:var(--social-muted);font:500 13px/1.7 var(--body)}
.instagram-handle>span{margin-left:8px;font-weight:700;color:var(--social-green)}
.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.instagram-post{display:block;min-width:0;border-bottom:1px solid var(--social-line);padding-bottom:12px;transition:border-color .15s}
.instagram-photo{position:relative;display:block;aspect-ratio:1;background:var(--social-mint);overflow:hidden;border-radius:3px}
.instagram-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.instagram-kind{position:absolute;left:9px;bottom:9px;padding:3px 7px;border-radius:2px;background:#183e33e8;color:var(--social-paper);font:500 10px/1.5 var(--body)}
.instagram-play{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffffb0;border-radius:50%;background:#183e33a8;color:var(--social-paper)}
.instagram-play svg{width:22px;height:22px;fill:currentColor}
.instagram-caption{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:500 12px/1.8 var(--body);margin-top:12px;color:var(--social-ink)}
.instagram-post:hover{border-color:var(--social-green)}
.instagram-post:hover img{transform:scale(1.025)}
.instagram-photo.image-unavailable:after{content:'Instagramで投稿を見る';position:absolute;inset:0;display:grid;place-items:center;color:var(--social-green);font:700 12px var(--body)}
.instagram-actions{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;margin-top:28px}
.instagram-actions .button{min-width:220px;cursor:pointer}
.social-follow{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px;padding-top:26px;border-top:1px solid var(--social-line)}
.social-follow>p{font:700 13px/1.7 var(--body);color:var(--social-ink);margin:0}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}
.social-links>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:6px 1px;color:var(--social-ink,var(--ink));font:700 12px/1.5 var(--body);white-space:nowrap}
.social-links img{width:22px;height:22px;object-fit:contain}
.social-links>a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-social{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid var(--line);--social-ink:#254d40}
.footer-social>p{font:700 12px var(--body);color:var(--muted);margin:0}
.header-social.social-links{display:flex;flex-wrap:nowrap;gap:0;margin-left:auto;flex:none}
.header-social.social-links>a{width:44px;min-height:44px;padding:0}
.header-social.social-links>a>span{display:none}
.header-social.social-links img{width:21px;height:21px}
.header .nav{margin-left:0}
.footer .footer-social .social-links{display:flex;gap:10px 18px}
@media(min-width:1001px) and (max-width:1250px){.header .group-label{display:none}.header{gap:14px}.header .nav{gap:18px}}
.review-track:focus-visible,.review-controls button:focus-visible,.review-expand:focus-visible,.instagram-post:focus-visible,.social-links a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:1000px){.customer-review{flex-basis:calc((100% - 20px)/2)}.instagram-grid{gap:14px}.social-follow{display:block}.social-follow>p{margin-bottom:12px}}
@media(max-width:650px){
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:44px 44px;column-gap:9px;row-gap:0;height:auto;padding:2px 16px 0}
 .header>.logo{grid-column:1;grid-row:1;min-width:0}.header>.logo img{max-width:100%;height:auto}
 .header>.header-cta{grid-column:2;grid-row:1;margin:0}.header>.menu-toggle{grid-column:3;grid-row:1}
 .header-social.social-links{grid-column:1/-1;grid-row:2;justify-content:space-around;width:100%;margin:0;border-top:1px solid var(--line)}
 .header-social.social-links>a{flex:1;width:auto;min-height:44px}.header-social.social-links img{width:21px;height:21px}
 .social-section-head{display:block;margin-bottom:25px}.social-section-head h2{font-size:26px;line-height:1.65}
 .google-review-score{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;min-width:0;border-left:0;border-top:1px solid var(--social-line);padding:20px 0 0;margin-top:23px}
 .review-source-name{width:100%;font-size:12px}.google-review-score strong{font-size:48px}.google-review-score>div{margin:3px 0}.google-review-score>p{margin:0;display:block;line-height:1.8}.google-review-score .review-stars{font-size:13px}
 .review-toolbar{gap:12px}.review-toolbar .social-note{font-size:10px;max-width:210px}.review-controls{gap:8px;flex:none}
 .review-track{gap:14px;margin-right:-16px;padding-right:16px;scroll-padding-left:2px}.customer-review{flex-basis:86%;padding:21px}.review-body{font-size:13px;line-height:1.95}.customer-review h3{font-size:13px}.social-source-note{font-size:9px}
 .field-social .social-section-head>.button{margin-top:20px;min-height:44px;font-size:12px}.instagram-handle{font-size:12px}
 .instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.instagram-caption{font-size:11px;margin-top:9px}.instagram-kind{font-size:8px;left:6px;bottom:6px}.instagram-play{width:29px;height:29px;top:7px;right:7px}
 .instagram-actions .social-note{font-size:10px}.social-follow{margin-top:29px;padding-top:23px}.social-follow>p{font-size:12px}.social-links{gap:8px 18px}.social-links>a{font-size:11px}.social-links img{width:20px;height:20px}
 .footer-social{display:block}.footer-social>p{margin-bottom:10px}.footer .footer-social .social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.footer-social .social-links>a{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.instagram-post,.instagram-photo img,.review-controls button{transition:none}.instagram-post:hover img{transform:none}}
