/* All official channels share one hierarchy and one destination. */
.official-sns-section{max-width:1220px;width:calc(100% - 9vw);margin:36px auto 0;padding:38px 42px;grid-template-columns:.82fr 1.18fr;gap:36px;border:1px solid #b9d9ee;border-radius:26px;background:linear-gradient(115deg,#e7f5ff,#fafdff);scroll-margin-top:16px}
.official-sns-section .eyebrow{color:#236791;font-size:12px;letter-spacing:.08em}
.official-sns-section h2{margin-top:13px;font-size:clamp(26px,2.8vw,36px);line-height:1.5}
.official-sns-section .follow-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;margin-top:16px}
.official-sns-section .follow-intro>.supervision-line{font-size:11px;margin-top:12px}
.official-sns-section .social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.official-sns-section .social-grid>a{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:12px;padding:20px 18px;border:1px solid #bad3e4;border-radius:17px;background:#fff;color:#193b56;box-shadow:0 3px 0 #dcebf5;transition:background .18s,transform .18s,box-shadow .18s}
@media(hover:hover) and (pointer:fine){.official-sns-section .social-grid>a:hover{background:#f1f9ff;transform:translateY(-2px);box-shadow:0 5px 0 #dcebf5}}
.official-sns-section .social-grid>a:active{transform:translateY(1px);box-shadow:0 2px 0 #dcebf5}
.official-sns-section .social-icon{width:29px;height:29px;display:block;color:#236791}
.official-sns-section .social-details{min-width:0}
.official-sns-section .social-details strong{font-size:19px;letter-spacing:0}
.official-sns-section .social-details>span{font-size:11px;line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
.official-sns-section .social-visit{grid-column:1/-1;margin:1px 0 0;padding-top:12px;border-top:1px solid #e1edf5;justify-content:space-between;gap:8px;font-size:12px;line-height:1.6;font-weight:700}
.official-sns-section .social-visit b{font-size:20px}
.social-dock,.mobile-official-sns{display:none}
.official-sns-section a:focus-visible,.mobile-official-sns:focus-visible,.social-dock-link:focus-visible{outline:3px solid #193b56;outline-offset:4px}
@media(max-width:1050px) and (min-width:781px){.official-sns-section{padding:30px;gap:28px;grid-template-columns:.7fr 1.3fr}.official-sns-section .social-grid>a{padding:17px 13px}}
@media(max-width:780px){
 .mobile-official-sns{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border-radius:24px;background:#216b99;color:#fff;font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap}
 .mobile-official-sns svg{width:19px;height:19px;flex:none}.mobile-official-sns small{display:block;font-size:10px;font-weight:500;margin-top:2px}
 .official-sns-section{width:calc(100% - 48px);max-width:620px;padding:27px 25px;grid-template-columns:1fr;gap:23px;margin-top:28px;border-radius:22px;scroll-margin-top:16px}
 .official-sns-section h2{font-size:28px;line-height:1.5;margin-top:10px}
 .official-sns-section .follow-intro>p:not(.eyebrow){font-size:13px;margin-top:13px}
 .official-sns-section .follow-intro>.supervision-line{font-size:11px;margin-top:10px}
 .official-sns-section .social-grid{gap:12px}
 .official-sns-section .social-grid>a{grid-template-columns:1fr;justify-items:center;gap:9px;padding:17px 10px 14px;text-align:center}
 .official-sns-section .social-details strong{font-size:17px}.official-sns-section .social-details>span{display:block;font-size:10px}
 .official-sns-section .social-visit{width:100%;font-size:11px;padding-top:10px;gap:3px}.official-sns-section .social-visit b{font-size:18px}
 .social-dock{display:block;position:fixed;z-index:40;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));pointer-events:none}
 .social-dock-link{display:flex;align-items:center;gap:13px;min-height:64px;max-width:500px;margin:auto;padding:10px 20px;border-radius:18px;border:1px solid #ffffffb0;background:linear-gradient(110deg,#205f88,#247aa7);color:#fff;box-shadow:0 5px 20px #214f7430;pointer-events:auto;touch-action:manipulation}
 .social-dock-link>svg{width:29px;height:29px;flex:none}.social-dock-copy{display:flex;flex-direction:column;line-height:1.5}.social-dock-copy small{font:10px/1.7 Arial,sans-serif;letter-spacing:.01em}.social-dock-copy strong{font-size:17px;font-weight:700}.social-dock-arrow{margin-left:auto;font-size:25px;line-height:1}
}
@media(max-width:359px){.mobile-official-sns{padding:8px 10px;font-size:11px;gap:5px}.mobile-official-sns svg{width:16px;height:16px}.official-sns-section{width:calc(100% - 32px);padding:23px 17px}.official-sns-section h2{font-size:26px}.official-sns-section .social-grid{gap:10px}.official-sns-section .social-grid>a{padding:15px 9px 12px}.official-sns-section .social-details strong{font-size:16px}.social-dock-link{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.official-sns-section .social-grid>a{transition:none}.official-sns-section .social-grid>a:hover,.official-sns-section .social-grid>a:active{transform:none}}

/* Direct touch navigation: keep touch targets stationary. */
a[href="#social"],.official-sns-section .social-grid>a{touch-action:manipulation}
@media(hover:none),(pointer:coarse){.official-sns-section .social-grid>a,.official-sns-section .social-grid>a:hover,.official-sns-section .social-grid>a:active{transform:none;transition:none}}
