/* SNS alone follows the approved v57 wireframe. Brand palette/type are shared. */
.sns-page{padding-top:112px;background:#fff;color:var(--deep);font:400 15px/1.8 var(--ja);letter-spacing:0}
.sns-page section[id]{scroll-margin-top:130px}
.sns-page h1,.sns-page h2,.sns-page h3,.sns-page b,.sns-page strong{font-family:var(--ja);font-weight:600}
.sns-page h1{letter-spacing:-.035em;line-height:1.3}
.sns-page a{color:inherit}.sns-page a:hover{color:var(--purple)}
.sns-page a:focus-visible,.sns-page button:focus-visible,.sns-page summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}
.sns-page .sns-cta:hover{background:#52346b!important;color:white!important}
.sns-page .sns-arrow{display:inline-block;margin-left:8px;transition:transform .25s ease;font-family:var(--en)}
.sns-page a:hover .sns-arrow{transform:translate(3px,-3px)}
.sns-page .sns-toc a:hover{background:var(--pale);color:var(--deep)}
.sns-page .sns-toc a:hover .sns-arrow{transform:translateY(3px)}
.sns-page .sns-brand-icon svg{width:26px;height:26px;flex:none}
.sns-page .im-sns-phone{position:relative;overflow:hidden;background:var(--deep);box-shadow:0 15px 30px #2c1e4610}
.sns-page .im-sns-phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sns-page .im-sns-phone:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#2c1e4644,transparent 35%,#2c1e46dd)}
.sns-page .sns-phone-top{position:absolute;top:15px;left:10px;right:10px;z-index:1;font:600 8px var(--en);letter-spacing:.07em;color:white}
.sns-page .sns-phone-caption{position:absolute;bottom:25px;left:12px;right:12px;z-index:1;color:white}
.sns-page .sns-phone-caption small{display:block;font-size:8px;margin-bottom:7px}.sns-page .sns-phone-caption b{font-size:17px}
.sns-page .sns-phone-play{position:absolute;top:45%;z-index:1;color:white;font-size:24px;opacity:.8}
.sns-page .sns-photo img,.sns-page #related-services img{width:100%;height:100%;object-fit:cover;display:block}
.sns-page .sns-photo:first-child img[src$='portrait.jpg']{object-position:center 28%}
.sns-page .im-ind-circle{color:var(--purple)!important}.sns-page .im-ind-circle svg{width:40px;height:40px}
.sns-page .im-chips button{cursor:pointer;transition:background .2s,color .2s}
.sns-page .im-chips button[aria-pressed=false]{background:#fff!important;color:var(--deep)!important}
.sns-page .im-chips button[aria-pressed=true]{background:var(--deep)!important;color:#fff!important;border-color:var(--deep)!important}
.sns-page [hidden]{display:none!important}
.sns-page .sns-platform-card dd>span{display:inline-block;margin-bottom:4px}
.sns-page table{font-variant-numeric:tabular-nums}.sns-page table tbody td:last-child{background:var(--pale)}
.sns-page .im-only-sp{display:none!important}
.sns-page #faq summary{display:flex;align-items:baseline;gap:20px;justify-content:space-between;list-style:none}
.sns-page #faq summary::-webkit-details-marker{display:none}
.sns-page #faq summary:after{content:'＋';flex:none;color:var(--purple);font:400 22px var(--en)}
.sns-page #faq details[open] summary:after{content:'−'}
.sns-page #related-services a:hover img{transform:scale(1.025)}.sns-page #related-services img{transition:transform .3s}
@media(max-width:1024px){
 .sns-page .im-hflow{min-width:0!important}.sns-page .im-hflow-line{display:none!important}
 .sns-page .im-hflow-ol{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 .sns-page .im-hflow-ol>li{display:grid!important;grid-template-columns:42px minmax(0,1fr);column-gap:16px;row-gap:2px}
 .sns-page .im-hflow-ol>li>span:first-child{grid-row:span 2}
 .sns-page .im-sns-fv{flex-wrap:nowrap!important;justify-content:space-between!important;gap:32px!important}
 .sns-page .im-sns-phone-l{display:none!important}.sns-page .im-sns-phone{flex:0 0 32%!important}
 .sns-page .im-sns-copy{flex:1 1 0!important;align-items:flex-start!important;text-align:left!important}
 .sns-page .im-sns-copy>div{justify-content:flex-start!important}
 .sns-page .im-sns-boxes{flex-wrap:nowrap!important;width:100%}.sns-page .im-sns-box{padding:10px 4px!important}
 .sns-page .im-sns-box b{font-size:17px!important}
 .sns-page .im-ind-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
 .sns-page .im-ind-circle{width:88px!important;height:88px!important}
 .sns-page table{min-width:0!important}.sns-page table td b{font-size:19px!important}
}
@media(max-width:800px){.sns-page{padding-top:90px}.sns-page section[id]{scroll-margin-top:104px}.sns-page .im-ind-circle{width:70px!important;height:70px!important}}
@media(max-width:600px){
 .sns-page .im-only-pc{display:none!important}.sns-page .im-only-sp{display:block!important}
 .sns-page .im-flow{display:flex;flex-direction:column}.sns-page .im-ord-first{order:-1}.sns-page .im-ord-last{order:1}.sns-page .im-ord-end{order:2}
 .sns-page .im-sns-fv{flex-wrap:wrap!important;gap:0!important}
 .sns-page .im-sns-copy{position:relative;box-sizing:border-box;aspect-ratio:9/18;justify-content:center;align-items:center!important;text-align:center!important;gap:22px!important;border:8px solid var(--deep);border-radius:44px;background:#fff;padding:46px 16px 34px!important;max-width:370px;margin:auto}
 .sns-page .im-sns-copy:before{content:'';position:absolute;top:12px;left:50%;transform:translateX(-50%);width:80px;height:18px;border-radius:999px;background:var(--deep)}
 .sns-page .im-sns-copy:after{content:'';position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:96px;height:4px;border-radius:999px;background:var(--deep)}
 .sns-page .im-sns-copy>div{justify-content:center!important}
 .sns-page .im-sns-copy h1{font-size:clamp(30px,8vw,42px)!important;white-space:nowrap}
 .sns-page .im-sns-copy>p{font-size:13px!important;text-wrap:balance}
 .sns-page .im-sns-boxes{gap:6px!important}.sns-page .im-sns-box{padding:8px 2px!important}
 .sns-page .im-sns-box b{font-size:14px!important;white-space:nowrap}.sns-page .im-sns-box span{font-size:10px!important}
 .sns-page .sns-hero-actions{width:100%;flex-direction:column;gap:12px!important}
 .sns-page .sns-hero-actions a{font-size:12px;padding-inline:10px!important;justify-content:center;min-height:48px!important}
 .sns-page .im-qa{display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px!important}
 .sns-page .im-qa>span[aria-hidden]{display:none!important}.sns-page .im-qa>b,.sns-page .im-qa>span:last-child{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:baseline}
 .sns-page .im-qa>b:before{content:'Q';font:600 17px var(--en);color:#9b8ca6}
 .sns-page .im-qa>span:last-child:before{content:'A';font:600 17px var(--en);color:var(--deep)}
 .sns-page .im-qa-mark{display:none}.sns-page .im-qa>span:last-child{font-size:17px!important;font-weight:600}
 .sns-page .im-chips{gap:6px!important}.sns-page .im-chips>span{flex:1 1 100%;font-size:12px!important;margin-right:0!important}
 .sns-page .im-chips button{min-height:38px!important;padding:0 10px!important;font-size:12px!important}
 .sns-page .im-ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sns-page .im-ind-circle{width:88px!important;height:88px!important}
 .sns-page .im-hflow-ol>li{column-gap:24px!important}
 .sns-page .im-bleed-16{margin:-16px -16px 0!important}
 .sns-page #related-services a{overflow:hidden}
 .sns-page .sns-platform-card dl{grid-template-columns:6.5em minmax(0,1fr)!important;font-size:12px!important}
 .sns-page .im-h2-fit{font-size:min(5.6vw,22px)!important}
}
@media(prefers-reduced-motion:reduce){.sns-page *{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:601px) and (max-width:1024px){.sns-page .sns-toc>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Unprovided media: solid gray with a readable, centered replacement label. */
.sns-page .wf-placeholder{background:#d4d4d4!important;background-image:none!important;color:#525252!important;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;box-sizing:border-box;font-size:14px!important;line-height:1.7;min-height:80px}
.sns-page .im-sns-phone.wf-placeholder{box-shadow:none}
.sns-page .im-sns-phone.wf-placeholder:after{display:none}
