.wc{max-width:1120px}.ws{padding:80px 60px 100px}.ws-alt{background:#eae6df}.sh{margin-bottom:56px}.sh-top{display:flex;align-items:baseline;gap:22px;margin-bottom:18px}.sh-en{font-family:var(--dp);font-size:.75rem;letter-spacing:.4em;color:var(--a)}.sh-line{display:inline-block;width:56px;height:1px;background:var(--a);vertical-align:middle}.sh-no{font-family:var(--mn);font-size:.75rem;letter-spacing:.2em;color:var(--inkm)}.sh-jp{font-family:var(--sr);font-weight:500;font-size:clamp(2rem,3vw + 1rem,3rem);color:var(--m);margin:0;letter-spacing:.04em;line-height:1.2}.ph-en{font-family:var(--dp);font-size:.75rem;letter-spacing:.4em;color:var(--a)}.ph-line{display:inline-block;width:56px;height:1px;background:var(--a)}.ph{width:100%;height:100%;background:repeating-linear-gradient(135deg,#4a3b320f 0 10px,#4a3b3205 10px 20px);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;font-family:var(--mn);font-size:.75rem;letter-spacing:.08em;color:#4a3b328c;text-transform:uppercase;text-align:center;padding:16px}.ph-auto{aspect-ratio:16/9}.ph-45{aspect-ratio:4/5}.ph:has(.work-img){padding:0}.work-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.btn-filled,.btn-ghost{display:inline-flex;align-items:center;padding:13px 22px;font-family:var(--dp);font-size:.75rem;letter-spacing:.22em;transition:all .25s;cursor:pointer}.btn-filled{background:var(--m);color:var(--bg);border:1px solid var(--m)}.btn-filled:hover{background:#253a6b;border-color:#253a6b}.btn-ghost{background:transparent;color:var(--m);border:1px solid var(--m)}.btn-ghost:hover{background:#1a274412}.cs-hero{padding:56px 60px 60px;background:var(--m);color:var(--bg)}.cs-hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.cs-back-link{font-family:var(--mn);font-size:.75rem;letter-spacing:.1em;color:#f2f2f0a6;transition:color .2s}.cs-back-link:hover{color:var(--a)}.cs-tv-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--a);font-family:var(--mn);font-size:.75rem;letter-spacing:.14em;color:var(--a);margin-bottom:24px}.cs-tv-dot{width:7px;height:7px;border-radius:50%;background:var(--a);flex-shrink:0}.cs-title{font-family:var(--sr);font-weight:600;font-size:clamp(2.25rem,4.2vw + 1.125rem,3.625rem);color:var(--bg);margin:0 0 16px;letter-spacing:.04em;line-height:1.3;display:flex;flex-direction:column;gap:8px}.cs-title-en{font-family:var(--dp);font-size:.875rem;letter-spacing:.28em;color:#f2f2f099;font-weight:400}.cs-lead{font-family:var(--zo);font-size:1rem;color:#f2f2f0c7;letter-spacing:.05em;line-height:1.8;margin:0 0 32px;max-width:640px}.cs-hero-btns{display:flex;gap:14px;flex-wrap:wrap}.cs-hero-btns .btn-ghost{color:var(--bg);border-color:#f2f2f080}.cs-hero-btns .btn-ghost:hover{background:#f2f2f014}.cs-hero-btns .btn-filled{background:var(--a);border-color:var(--a);color:var(--m)}.cs-hero-btns .btn-filled:hover{background:#c98a45;border-color:#c98a45}.cs-block{max-width:760px}.cs-body{font-size:.9375rem;line-height:2.1;color:var(--inks);letter-spacing:.03em;margin-bottom:18px}.cs-body:last-child{margin-bottom:0}.cs-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:44px}.cs-fact{background:var(--bg);padding:22px 20px}.cs-fact-k{font-family:var(--mn);font-size:.75rem;letter-spacing:.16em;color:var(--a);margin-bottom:10px}.cs-fact-v{font-size:.84375rem;line-height:1.8;color:var(--ink)}.cs-approach-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start}.cs-approach-list{display:flex;flex-direction:column;gap:24px}.cs-approach-item{display:flex;gap:18px;border-left:1px solid var(--hair);padding-left:20px}.cs-approach-no{font-family:var(--dp);font-size:.8125rem;letter-spacing:.15em;color:var(--a);flex-shrink:0;padding-top:2px}.cs-approach-t{font-family:var(--sr);font-size:1rem;color:var(--m);letter-spacing:.03em;margin-bottom:6px}.cs-approach-d{font-size:.8125rem;line-height:1.8;color:var(--inks)}.cs-shots{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:18px}.cs-shot-main{grid-row:1/span 1}.cs-shot .ph{min-height:200px}.cs-shot-cta{margin-top:32px;display:flex;justify-content:center}.cs-media-panel{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}.cs-tv-badge-lg{padding:10px 18px;font-size:.75rem;margin-bottom:22px}.cs-media-body{max-width:520px}.contact-section{padding-bottom:100px}.contact-panel{background:var(--m);color:var(--bg);padding:80px 70px;display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center}.contact-label{font-family:var(--dp);font-size:.75rem;letter-spacing:.4em;color:var(--a);margin-bottom:20px}.contact-title{font-family:var(--sr);font-weight:500;font-size:clamp(1.875rem,3vw + .9375rem,2.75rem);margin:0;line-height:1.4;letter-spacing:.04em;color:var(--bg)}.contact-body{font-size:.9375rem;line-height:2.1;color:#f2f2f0cc;letter-spacing:.04em;margin-bottom:36px;max-width:480px}.contact-btns{display:flex;gap:16px;flex-wrap:wrap}.contact-btn-primary{padding:16px 26px;font-family:var(--dp);font-size:.8125rem;letter-spacing:.22em;background:var(--a);color:var(--m);transition:background .25s}.contact-btn-primary:hover{background:#c98a45}.wfooter{padding:20px 60px 40px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--hair)}.wfooter-back{font-family:var(--dp);font-size:.75rem;letter-spacing:.25em;color:var(--m);transition:color .2s}.wfooter-back:hover{color:var(--a)}.wfooter-legal{display:flex;gap:22px;flex-wrap:wrap}.wfooter-legal a{font-family:var(--mn);font-size:.75rem;letter-spacing:.12em;color:var(--inkm);transition:color .2s}.wfooter-legal a:hover{color:var(--a)}.wfooter-copy{font-family:var(--mn);font-size:.75rem;letter-spacing:.18em;color:var(--inkm)}@media(max-width:1024px){.cs-hero{padding:40px 24px 44px}.ws{padding:56px 24px 64px}.cs-approach-grid{grid-template-columns:1fr;gap:36px}.cs-facts{grid-template-columns:1fr 1fr}.cs-shots{grid-template-columns:1fr}.cs-media-panel{grid-template-columns:1fr;gap:28px}.contact-panel{grid-template-columns:1fr;padding:48px 28px;gap:32px}.wfooter{flex-direction:column;gap:16px;padding:24px 24px 32px;text-align:center}}
