/* Existing LP colors, outlines, speech bubbles and wave assets. */
.case-page{background:#4abed3;color:#111}.case-page .header{position:relative;background:#e60a48}.case-page .header-logo{display:block}.case-container{width:min(106rem,100% - 4rem);margin:auto}.case-hero{background:#e60a48;color:white;position:relative;padding:4rem 0 17rem;overflow:hidden}.case-hero:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:12vw;background:url(images/bg_mv.svg) bottom/100% 100% no-repeat;pointer-events:none}.case-hero .case-container{position:relative}.case-hero h1{font-size:5.6rem;font-weight:900;line-height:1.45;margin:1rem 0 2rem}.case-hero-copy{font-size:1.8rem;line-height:1.9;max-width:62rem}.case-bubble{position:absolute;right:1rem;top:7rem;background:white;border:3px solid #111;border-radius:2rem;color:#111;font-size:2.1rem;font-weight:700;text-align:center;padding:3rem 4rem;transform:rotate(4deg)}.case-bubble:after{content:"";position:absolute;bottom:-1.3rem;left:3rem;width:2rem;height:2rem;background:white;border-bottom:3px solid #111;border-right:3px solid #111;transform:skewY(-25deg) rotate(45deg)}.case-body{padding:1rem 0 7rem;background:url(images/bg_mv_before.svg) left top/12rem auto no-repeat}.case-steps{display:flex;justify-content:center;align-items:center;gap:2rem;margin:0 auto 3rem;font-size:1.5rem;font-weight:700;flex-wrap:wrap}.case-steps span{padding:.8rem 1.6rem;border-radius:4rem}.case-steps .is-current{background:#111;color:#fff}.case-panel{max-width:82rem;margin:auto;background:white;border:3px solid #111;border-radius:3rem;padding:4.5rem 6rem;box-shadow:0 .6rem 0 #0002}.case-panel>.pop-speech{display:table;margin:0 auto 2.5rem}.case-panel h2{text-align:center;font-size:2.8rem;line-height:1.6;font-weight:700}.case-intro{font-size:1.6rem;line-height:1.9;text-align:center;margin:1.5rem 0 3rem}.case-form .frm-control{width:100%;border:1px solid #bbb;border-radius:.8rem;box-sizing:border-box;background:#fafafa}.case-form .frm-title{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.case-form .frm-required{margin:0;background:#111;color:white;border-radius:3px}.case-consent{display:flex;align-items:flex-start;justify-content:center;gap:1rem;font-size:1.4rem;line-height:1.8;margin:3rem 0 2rem}.case-consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#111}.case-consent a{text-decoration:underline}.case-form .pop-cta,.case-next .pop-cta{margin-inline:auto}.case-errors{border:2px solid #e60a48;padding:1.5rem;margin:2rem 0;color:#a50030;font-size:1.5rem;line-height:1.8}.case-errors ul{list-style:disc;padding-left:2rem}.case-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.case-footer{background:#f2f2f2;padding:3rem 2rem;text-align:center;font-size:1.3rem;line-height:2}.case-footer>a{text-decoration:underline}.case-footer p{margin-top:1rem}.case-gallery{display:grid;gap:3rem;margin-bottom:4rem;grid-template-columns:1fr 1fr}.case-work{background:white;border:3px solid #111;border-radius:2.5rem;overflow:hidden}.case-work>img{display:block;width:100%;height:auto}.case-work-copy{padding:2.5rem}.case-work h2{font-size:2.2rem;font-weight:700}.case-work p{font-size:1.5rem;line-height:1.9;margin:1rem 0 2rem}.case-reply{font-size:1.3rem;text-align:center;margin-top:2rem;line-height:1.8}
@media(max-width:767px){.case-hero{padding:2rem 0 11rem}.case-hero h1{font-size:3.5rem;text-align:center}.case-hero .pop-label{display:table;margin:0 auto 2rem}.case-hero-copy{font-size:1.35rem;text-align:center}.case-bubble{position:relative;right:auto;top:auto;display:table;margin:2.5rem auto 0;padding:1.5rem 2.5rem;font-size:1.5rem}.case-hero:after{height:7rem}.case-body{padding-bottom:4rem}.case-steps{gap:.4rem;font-size:1.15rem}.case-steps span{padding:.8rem 1rem}.case-panel{border-width:2px;border-radius:2.5rem;padding:3rem 2rem}.case-panel h2{font-size:2.1rem}.case-intro{font-size:1.3rem}.case-pc{display:none}.case-consent{font-size:1.2rem}.case-form .pop-cta{font-size:1.3rem;padding-inline:1rem}.case-footer{font-size:1.1rem}.case-gallery{grid-template-columns:1fr}.case-work-copy{padding:2rem}.case-work h2{font-size:2rem}.case-reply{font-size:1.2rem}}
.case-phrase{display:inline-block}
.case-genre-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin:0 auto 5rem;max-width:90rem}
.case-genre-nav a{display:inline-flex;align-items:center;gap:.8rem;background:#fff;border:2px solid #111;border-radius:4rem;padding:.9rem 1.8rem;font-size:1.5rem;font-weight:700;transition:background .2s,color .2s}
.case-genre-nav a span{font-size:1.2rem;background:#111;color:#fff;border-radius:2rem;padding:.1rem .8rem;transition:background .2s,color .2s}
.case-genre-nav a:hover{background:#111;color:#fff}.case-genre-nav a:hover span{background:#fff;color:#111}
.case-genre{margin-bottom:6rem;scroll-margin-top:2rem}
.case-genre-ttl{display:flex;align-items:baseline;gap:1.2rem;font-size:2.8rem;font-weight:900;margin-bottom:2.4rem}
.case-genre-ttl span{font-size:1.5rem;font-weight:700}
.case-genre .case-gallery{grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-bottom:0}
.case-work{display:flex;flex-direction:column;color:#111;border-width:2px;border-radius:1.8rem;box-shadow:0 .5rem 0 #0002;transition:transform .2s,box-shadow .2s}
a.case-work:hover{transform:translateY(-3px);box-shadow:0 .8rem 0 #0003;color:#111}
.case-work>img{aspect-ratio:16/10;object-fit:cover;border-bottom:2px solid #111}
.case-work-copy{padding:1.8rem 2rem 2rem;display:flex;flex-direction:column;flex:1}
.case-work h3{font-size:1.8rem;font-weight:700;line-height:1.5}
.case-work-copy p{font-size:1.4rem;line-height:1.8;margin:.6rem 0 1.4rem}
.case-work-link{margin-top:auto;font-size:1.3rem;font-weight:700;color:#e60a48}
@media(min-width:768px) and (max-width:1100px){.case-genre .case-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.case-genre-nav{gap:.6rem;margin-bottom:3.5rem}.case-genre-nav a{font-size:1.25rem;padding:.7rem 1.2rem}.case-genre{margin-bottom:4.5rem}.case-genre-ttl{font-size:2.2rem;margin-bottom:1.6rem}.case-genre .case-gallery{grid-template-columns:1fr 1fr;gap:1.2rem}.case-work{border-radius:1.2rem}.case-work-copy{padding:1.1rem 1.1rem 1.3rem}.case-work h3{font-size:1.35rem}.case-work-copy p{font-size:1.15rem;line-height:1.7;margin:.4rem 0 .8rem}.case-work-link{font-size:1.1rem}}
.case-page .header{position:sticky;top:0}.case-genre{scroll-margin-top:13rem}@media(max-width:767px){.case-genre{scroll-margin-top:9rem}}html:has(.case-page){scroll-behavior:smooth}
.case-bubble:after{width:0;height:0;background:none;transform:none;left:calc(3rem + 3px);bottom:calc(-2.2rem + 6px);border-style:solid;border-width:calc(2.2rem - 5px) calc(1.8rem - 6px) 0 0;border-color:#fff transparent transparent transparent}
.case-bubble:before{content:"";position:absolute;left:3rem;bottom:calc(-2.2rem - 3px);width:0;height:0;border-style:solid;border-width:calc(2.2rem + 3px) 1.8rem 0 0;border-color:#111 transparent transparent transparent}
@media(max-width:767px){.case-genre-nav a{min-height:44px}.case-consent{min-height:44px;align-items:center}.case-consent input{width:22px;height:22px;margin-top:0}.case-consent a{display:inline-block;padding:1.4rem 0}.case-page .menu .menu-link{height:4.4rem;line-height:4.4rem}}
.case-work h3{word-break:normal;line-break:strict}
