
.sns-connect{padding:90px 0 100px}
.sns-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:32px}
.sns-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--elevation-2)}
.sns-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--pink),var(--blue));z-index:1}
.sns-card-photo{margin:0;min-width:0}
.sns-card-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 35%}
.sns-card-copy{padding:36px 32px;min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.sns-platform{display:flex;gap:16px;align-items:center;margin-bottom:24px;color:var(--ink)}
.sns-platform img{display:block;width:64px;height:64px;object-fit:contain}
.sns-card h3{margin:0 0 20px}
.sns-card-copy p{margin:0 0 20px}
.sns-instagram-icon{color:var(--pink-dark);flex-shrink:0}
.sns-account{color:var(--pink-dark);margin:-8px 0 20px;overflow-wrap:anywhere}
.sns-card[data-platform="youtube"] .sns-platform{color:#c62032}
.sns-external{margin-top:auto;align-self:stretch;flex-direction:column;line-height:1.5}
.sns-journal{padding:90px 0;background:linear-gradient(135deg,var(--pink-pale),var(--lav))}
.sns-journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.sns-journal-grid>*{min-width:0}
.sns-journal-photo{margin:0}
.sns-journal-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px 70px 16px 16px;box-shadow:var(--elevation-1)}
.sns-journal-copy p{margin-bottom:28px}
@media(max-width:900px){
  .sns-connect{padding:72px 0 85px}
  .sns-list,.sns-journal-grid{grid-template-columns:1fr}
  .sns-card-photo img{aspect-ratio:16/10}
  .sns-journal-grid{gap:34px}
  .sns-journal{padding:80px 0}
}
@media(max-width:600px){
  .sns-connect,.sns-journal{padding:64px 0}
  .sns-card{border-radius:var(--radius-m)}
  .sns-card-copy{padding:30px 24px}
  .sns-platform{gap:12px}
  .sns-platform img{width:56px;height:56px}
  .sns-journal-copy .button{width:100%}
}
.sns-heading-phrase{display:inline-block;white-space:nowrap}
.sns-banner-link{display:block}
.sns-card{transition:box-shadow .35s ease}
@media(prefers-reduced-motion:no-preference){
  .sns-card{transition:transform .4s ease,box-shadow .4s ease}
  .sns-card.sns-motion-item{transition:opacity 1.4s cubic-bezier(.25,.46,.45,.94),transform 1.4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease;transition-delay:var(--sns-motion-delay,150ms)}
  @media(hover:hover) and (pointer:fine){
    .sns-card.sns-motion-visible:hover{transform:translateY(-8px);box-shadow:0 24px 56px #304b6528;transition-duration:.4s;transition-delay:0ms}
  }
}
@media(prefers-reduced-motion:no-preference){
  .sns-page .column-hero-inner{animation:sns-enter 1.6s .2s cubic-bezier(.25,.46,.45,.94) both}
  .sns-page .column-word{animation:sns-word-drift 10s ease-in-out infinite alternate}
  .sns-motion-item{opacity:0;transform:translate(var(--entry-x,0px),var(--entry-y,36px));transition:opacity 1.4s cubic-bezier(.25,.46,.45,.94),transform 1.4s cubic-bezier(.25,.46,.45,.94);transition-delay:var(--sns-motion-delay,150ms)}
  .sns-motion-item.sns-motion-visible{opacity:1;transform:none}
  .sns-banner-link{transition:transform .45s ease,filter .45s ease}
  @media(hover:hover) and (pointer:fine){
    .sns-banner-link:hover{transform:translateY(-6px);filter:brightness(1.04)}
  }
  .sns-banner-link:focus-visible{transform:translateY(-4px)}
  @keyframes sns-enter{from{opacity:0;transform:translate(var(--entry-x,0px),var(--entry-y,24px))}to{opacity:1;transform:none}}
  @keyframes sns-word-drift{from{transform:translateY(0)}to{transform:translateY(-8px)}}
}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
  .sns-page .column-hero-inner{animation:none}
  .sns-page .column-hero-inner>:first-child{animation:sns-enter 1.6s .2s cubic-bezier(.25,.46,.45,.94) both}
  .sns-page .column-hero-inner>:last-child{animation:sns-enter 1.6s .4s cubic-bezier(.25,.46,.45,.94) both}
}
