.case-page{--paper:#f5f5f7;--white:#ffffff;--ink:#1d1d1f;--ink-soft:#515154;--muted:#6e6e73;--line:#d2d2d7;--forest-pale:#e8f0eb;--coral:var(--forest);--coral-soft:#b7d5c7;background:var(--white);color:var(--ink)}.case-main{width:min(1200px,calc(100% - var(--gutter) * 2))}.case-main>.crumb{padding-top:44px;font-size:13px}.case-main>.crumb a{border-bottom:0}.case-main .case-hero{padding-block:32px 64px;border-bottom:0;text-align:center}.case-main .case-hero h1{max-width:16em;margin:0 auto;font-size:clamp(40px, 4.5vw, 68px);line-height:1.18;font-weight:700;letter-spacing:-.045em;text-wrap:balance}.case-main .case-hero .summary{max-width:38em;margin:28px auto 0;font-size:20px;line-height:1.7;color:var(--ink-soft);text-wrap:pretty}.case-main .case-meta{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1040px;margin:48px auto 0;border-block:1px solid var(--line);text-align:left}.case-main .case-meta div{min-width:0;padding:20px 24px 20px 0}.case-main .case-meta dt{font-size:13px;line-height:1.5}.case-main .case-meta dd{margin-top:7px;font-size:16px;font-weight:600;line-height:1.55}.case-main .case-shot{margin-block:0 104px;padding:36px;border-radius:28px;background:var(--paper)}.case-main .case-shot .browser{border:1px solid rgba(29,29,31,.1);border-radius:16px;box-shadow:0 16px 40px -28px rgba(0,0,0,.28)}.case-main .browser-bar{height:36px;padding-inline:15px;background:#fafafa;border-bottom-color:#e5e5e7}.case-main .browser-bar i{width:7px;height:7px;background:#d2d2d7}.case-main .browser-bar span{font-size:11px}.case-main .case-shot img{width:100%;height:auto}.case-main .case-shot figcaption{max-width:56em;margin:20px auto 0;font-size:14px;line-height:1.65;text-align:center}.case-main .case-phones{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:1040px;margin:0 auto;padding:56px;border-radius:28px;background:var(--paper)}.case-main .case-phones figure{min-width:0;align-items:center;gap:22px}.case-main .phone-frame{width:100%;max-width:360px;border:6px solid var(--ink);border-radius:36px;background:var(--ink);box-shadow:0 18px 34px -26px rgba(0,0,0,.45)}.case-main .phone-frame img{width:100%;border-radius:29px}.case-main .case-phones figcaption{width:100%;max-width:360px;font-size:15px;line-height:1.65;color:var(--ink-soft)}.case-main .case-flow{grid-column:1/-1;min-width:0;padding:32px;border:0;border-radius:20px;background:var(--white)}.case-main .flow-title{margin-bottom:22px;font-size:16px;font-weight:650;color:var(--ink)}.case-main .case-flow ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.case-main .case-flow li{min-width:0;padding:18px 16px;border-radius:12px;background:var(--paper)}.case-main .case-flow li+li{margin-top:0}.case-main .case-flow li+li::before{content:'→';top:20px;left:-18px;font-size:14px;color:var(--forest)}.case-main .case-flow li.inside{background:var(--forest-pale)}.case-main .case-flow li.inside::before{content:'＋'}.case-main .case-flow b{font-size:15px;font-weight:650;line-height:1.55}.case-main .case-flow span{margin-top:7px;font-size:13px;line-height:1.65;color:var(--ink-soft)}.case-main>.shot-note{margin:20px auto 104px;text-align:center;font-size:14px;line-height:1.65}.case-main .case-body{width:min(980px,100%);margin-inline:auto;grid-template-columns:180px minmax(0,1fr);gap:40px 72px;padding-bottom:64px}.case-main .case-body h2{padding-top:0;font-size:26px;font-weight:650;line-height:1.35;letter-spacing:-.035em;color:var(--ink)}.case-main .case-body .block{min-width:0;margin:0;padding-bottom:40px;border-bottom-color:var(--line)}.case-main .case-body .block.last{padding-bottom:0}.case-main .case-body p{max-width:none;font-size:18px;line-height:1.8}.case-main .case-body p+p{margin-top:20px}.case-main .built{max-width:none;gap:24px}.case-main .built li{grid-template-columns:8px minmax(0,1fr);gap:14px;font-size:18px;line-height:1.75}.case-main .built li::before{width:5px;height:5px;margin-top:13px;border-radius:50%}.case-main .built li b{font-size:19px;font-weight:650;letter-spacing:-.025em}.case-main .built li span{display:block;margin-top:5px}.case-main .case-body .effect{max-width:none;gap:12px;font-size:17px;line-height:1.6}.case-main .effect span{padding:4px 10px;border:0;border-radius:999px;background:var(--forest-pale);color:var(--forest-dark);font-size:12px}.case-main .effect b{flex-basis:100%;font-size:clamp(28px, 3vw, 40px);line-height:1.3;font-weight:650;letter-spacing:-.04em;color:var(--forest);text-wrap:balance}.case-main .case-body .effect-note{max-width:none;margin-top:20px;font-size:15px;line-height:1.8;color:var(--ink-soft)}.case-main .timeline{gap:26px;padding-left:26px;border-left:1px solid var(--line)}.case-main .timeline li::before{left:-31px;top:8px;width:9px;height:9px;border:0}.case-main .timeline time{font-size:13px;font-weight:600}.case-main .timeline p{margin-top:6px;font-size:17px}.case-main .now{padding:28px 32px;border-radius:18px}.case-main .related{padding-block:40px 104px;border-top:1px solid var(--line)}.case-main .related h2{margin-bottom:32px;font-size:36px;line-height:1.2}.case-main .next-projects{gap:24px}.case-main .next-projects a{min-width:0;padding:32px;border:1px solid transparent;border-radius:20px;background:var(--paper);transition:border-color .2s,background-color .2s}.case-main .next-projects a:hover{border-color:var(--line);background:#eeeeef}.case-main .next-projects small{font-size:13px}.case-main .next-projects b{margin-top:12px;font-size:23px;line-height:1.45;font-weight:650;letter-spacing:-.03em}.case-page>.contact{background:#1d1d1f;color:#f5f5f7}.case-page>.contact .section{padding-block:104px}.case-page>.contact .h2{font-size:clamp(36px, 3.9vw, 54px);line-height:1.2;text-wrap:balance}.case-page>.contact .label{margin-bottom:22px;color:#b7b7bc}.case-page>.contact .types{gap:14px}.case-page>.contact .types a{min-height:88px;padding:20px 24px;border:1px solid #515154;border-radius:18px;font-size:17px}.case-page>.contact .types a small{margin-top:4px;color:#b7b7bc}.case-page>.contact .types a .arr{color:currentColor}.case-page>.contact .types a.primary{border-color:transparent;background:#f5f5f7;color:var(--ink)}.case-page>.contact .types a.primary small{color:var(--ink-soft)}.case-page>.contact .types a:hover{border-color:#f5f5f7;background:#f5f5f7;color:var(--ink)}.case-page>.contact .types a:hover small{color:var(--ink-soft)}@media (max-width:900px){.case-main .case-hero{padding-block:24px 48px}.case-main .case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.case-main .case-meta div{padding-block:18px}.case-main .case-meta div:nth-child(n+3){border-top:1px solid var(--line)}.case-main .case-shot{padding:24px;margin-bottom:80px}.case-main .case-phones{gap:32px;padding:32px}.case-main .case-flow ol{grid-template-columns:1fr;gap:26px}.case-main .case-flow li+li::before{content:'↓';top:-24px;left:18px}.case-main .case-flow li.inside::before{content:'＋'}.case-main>.shot-note{margin-bottom:80px}.case-main .case-body{grid-template-columns:1fr;gap:16px;padding-bottom:48px}.case-main .case-body .block{padding-bottom:36px;margin-bottom:24px}.case-main .case-body .block.last{margin-bottom:0}.case-main .related{padding-block:32px 80px}.case-page>.contact .section{padding-block:80px}}@media (max-width:560px){.case-main>.crumb{padding-top:24px;font-size:12px}.case-main .case-hero{padding-block:22px 36px;text-align:left}.case-main .case-hero h1{max-width:none;font-size:clamp(32px, 8.2vw, 42px);line-height:1.24;letter-spacing:-.045em}.case-main .case-hero .summary{margin-top:24px;font-size:17px;line-height:1.8}.case-main .case-meta{margin-top:32px}.case-main .case-meta div{padding-right:12px}.case-main .case-meta dd{font-size:14px}.case-main .case-shot{padding:12px;margin-bottom:64px;border-radius:20px}.case-main .case-shot .browser{border-radius:10px}.case-main .browser-bar{height:30px;padding-inline:10px}.case-main .browser-bar span{font-size:10px}.case-main .case-shot figcaption{margin-top:16px;padding-inline:4px;font-size:13px;text-align:left}.case-main .case-phones{grid-template-columns:1fr;gap:36px;padding:24px 20px;border-radius:20px}.case-main .phone-frame{max-width:320px;border-width:5px;border-radius:30px}.case-main .phone-frame img{border-radius:24px}.case-main .case-phones figure{gap:16px}.case-main .case-phones figcaption{max-width:320px;font-size:14px}.case-main .case-flow{padding:24px 18px;border-radius:16px}.case-main .case-flow b{font-size:15px}.case-main .case-flow span{font-size:14px}.case-main>.shot-note{margin:18px auto 64px;font-size:13px;text-align:left}.case-main .case-body{padding-bottom:32px}.case-main .case-body h2{font-size:24px}.case-main .built li,.case-main .case-body p{font-size:17px}.case-main .built li b{font-size:18px}.case-main .case-body .effect{font-size:16px}.case-main .effect b{font-size:clamp(27px, 7.2vw, 34px)}.case-main .case-body .effect-note{font-size:14px}.case-main .now{padding:24px}.case-main .related{padding-block:32px 64px}.case-main .related h2{font-size:30px;margin-bottom:24px}.case-main .next-projects{grid-template-columns:1fr;gap:16px}.case-main .next-projects a{padding:26px 24px;border-radius:18px}.case-main .next-projects b{font-size:21px}.case-page>.contact .section{padding-block:64px;gap:32px}.case-page>.contact .h2{font-size:34px}.case-page>.contact .types a{padding:20px;font-size:16px}}@media print{.case-page{background:#fff;color:#000}.case-main .case-hero{padding-block:16px}.case-main .case-hero h1{font-size:30px}.case-main .case-body p,.case-main .case-hero .summary{font-size:12px}.case-main .case-phones,.case-main .case-shot{padding:12px;background:#fff;box-shadow:none}.case-main .case-shot .browser,.case-main .phone-frame{box-shadow:none}.case-page>.contact{background:#fff;color:#000}}