.campaign-hero{padding:110px clamp(28px,7vw,110px) 95px;background:#eee9dc;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:end}.campaign-hero h1{margin:12px 0 0;font-family:var(--jpserif);font-weight:500;font-size:clamp(44px,5vw,74px);line-height:1.45}.campaign-hero>p:last-child{max-width:680px;margin:0 0 8px;font-size:14px;color:#5e625c}.campaign-index{padding:90px clamp(28px,7vw,110px) 120px}.campaign-index-list{max-width:1120px;margin:auto;border-top:1px solid var(--line)}.campaign-index-item{display:grid;grid-template-columns:140px 1fr auto;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.campaign-index-item[hidden]{display:none}.campaign-index-thumb{width:140px;height:110px;object-fit:cover}.campaign-index-item strong{display:block;font-family:var(--jpserif);font-size:22px;font-weight:500;line-height:1.6}.campaign-index-item p{margin:4px 0 6px;font-size:13px;color:var(--muted)}.campaign-label,.campaign-period{display:block;font-family:var(--serif);font-size:11px;letter-spacing:.16em;color:var(--green)}.campaign-index-item>b{font-family:var(--serif);font-size:28px;font-weight:400}.campaign-detail{padding:95px 28px 120px}.campaign-article{max-width:920px;margin:auto}.campaign-article header{padding-bottom:38px;border-bottom:1px solid var(--line)}.campaign-article h1{font-family:var(--jpserif);font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1.55;margin:18px 0}.campaign-article-period{font-size:13px}.campaign-article-period span{font-family:var(--serif);letter-spacing:.15em;margin-right:12px}.campaign-article-image{margin:46px 0}.campaign-article-image img{max-height:560px;width:100%;object-fit:contain}.campaign-article-body{font-size:15px;line-height:2.1}.campaign-article-body p{margin:0 0 1.5em}@media(max-width:720px){.campaign-hero{grid-template-columns:1fr;gap:28px;padding:72px 22px}.campaign-hero h1{font-size:38px}.campaign-index{padding:60px 22px 90px}.campaign-index-item{grid-template-columns:80px 1fr auto;gap:14px}.campaign-index-thumb{width:80px;height:80px}.campaign-index-item strong{font-size:17px}.campaign-index-item p{font-size:12px}.campaign-detail{padding:68px 22px 90px}}
