.pcp{position:relative;background:var(--green-800);overflow:clip;color:var(--body-dark)}
.pcp.is-ended .pcp-only-open,.pcp.is-open .pcp-only-ended{display:none!important}
.pcp-h1 picture{display:block}
.pcp-row{position:relative;z-index:2}

.pcp-stage{position:relative}
.pcp-deco{position:absolute;inset:0;z-index:0;display:grid;align-items:start;pointer-events:none}
.pcp-sky,.pcp-presents{grid-area:1/1;position:sticky;top:0;width:100%;height:100vh;height:100lvh;overflow:hidden}
.pcp-sky img,.pcp-presents img{position:absolute;max-width:none;height:auto}
.pcp-tree{left:calc(50% - 970px);top:max(-641px,calc(100lvh - 1474px));width:1958px}
.stars-pc-1,.stars-pc-2{left:calc(50% - 660.64px);width:1394px}
.stars-pc-1{top:40.15px}.stars-pc-2{top:525.93px}
.pcp-presents img{bottom:0}
.pcp-presents-pc{width:525px;left:calc(50% - 714px + var(--k,0) * 530px)}

.pcp-row{width:min(1200px,calc(100% - 40px));margin:0 auto;padding-bottom:120px;display:flex;gap:40px;align-items:flex-start}
.pcp-side{position:sticky;top:44px;flex:none;width:373px;display:flex;flex-direction:column;align-items:center}
.pcp-h1 img{display:block;width:373px;height:auto}
.pcp-h1{animation:pcp-h1-drop 1.2s .15s both}
@keyframes pcp-h1-drop{0%{translate:0 -100vh;animation-timing-function:cubic-bezier(.3,0,.6,1)}62%{translate:0 0;animation-timing-function:ease-out}80%{translate:0 -12px;animation-timing-function:ease-in}100%{translate:0 0}}
.pcp-body{flex:1;min-width:0;max-width:787px;display:flex;flex-direction:column;align-items:center}

.pcp-entry{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:300px;height:64px;border-radius:100px;background:var(--red-400);color:#fff;font-weight:700;text-decoration:none;transition:background-color .3s ease-out,translate .2s var(--ease)}
.pcp-entry-sub{font-size:14px;letter-spacing:-.7px;line-height:1}
.pcp-entry-main{font-size:24px;letter-spacing:1.2px;line-height:1}
.pcp-entry>img{position:absolute;right:24px;top:50%;width:10px;height:10px;translate:0 -50%}
.pcp-entry-side{margin-top:57px}
@media(hover:hover){.pcp-entry:hover{background:var(--red-200);translate:0 -3px}}
.pcp-entry-after{display:none}
.pcp-entry-giftbox{position:absolute;inset:0;pointer-events:none;clip-path:inset(-12px 0 0 0 round 0 0 32px 32px)}
.pcp-entry-gift{position:absolute;left:15.9px;top:70px;width:50px;height:73px;max-width:none;transition:top .48s cubic-bezier(.34,1.56,.64,1)}
@supports (transition-timing-function:linear(0,1)){
 .pcp-entry-gift{transition:top .6s linear(0,0.044,0.161,0.33,0.526,0.729,0.921,1.086,1.216,1.305,1.353,1.363,1.341,1.293,1.229,1.156,1.083,1.015,0.957,0.913,0.884,0.869,0.869,0.879,0.898,0.922,0.949,0.976,1,1.02,1.035,1.044,1.048,1.047,1.043,1.035,1.026,1.016,1.007,0.998,0.991,0.986,0.984,0.982,0.983,0.985,0.988,0.991,1)}
}
@media(hover:hover){.pcp-entry:hover .pcp-entry-gift{top:-8px}}
.pcp-entry:focus-visible .pcp-entry-gift{top:-8px}

.pcp-notice{width:100%;margin-top:80px;padding:40px 24px;border-radius:24px;background:#fff;color:var(--green-600);font-size:18px;font-weight:800;line-height:1.6;text-align:center}
.pcp-copy{padding:80px 0 40px;color:#fff;font-size:20px;font-weight:700;line-height:1.6;text-align:center}
.is-ended .pcp-notice+.pcp-copy{padding-top:80px}
.pcp-h2{padding-bottom:40px}
.pcp-h2 img{display:block;height:90px;width:auto}
.pcp-h2-howto{padding-top:80px}

.pcp-prizes{width:100%;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pcp-prize{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 20px;border-radius:24px;background:#fff;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.pcp-prize-head{display:flex;gap:10px;align-items:flex-start;width:100%;padding-right:90px}
.pcp-prize-no{flex:none;width:55px;border-right:1px solid var(--red-500);color:var(--red-500);font-family:var(--font-en);font-size:46px;line-height:normal;text-align:center}
.pcp-prize-name{flex:1;min-width:0;font-size:18px;font-weight:700;line-height:1.6}
.pcp-prize-count{position:absolute;z-index:1;right:8.5px;top:20px;width:96px;height:96px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding-bottom:22px;color:#fff;font-size:14px;font-weight:700;line-height:2}
.pcp-prize-count::before{content:"";position:absolute;left:-14px;top:-28px;width:135.44px;height:114.34px;background:url(../img/pcp2026/badge.webp) center/contain no-repeat;z-index:-1;filter:none}
.pcp-prize-count b{font-family:var(--font-en);font-size:46px;font-weight:400;line-height:1}
.pcp-prize-count-lead{position:absolute;left:51px;top:13px;translate:-50% 0;color:var(--body-light);font-size:12px;letter-spacing:.6px;line-height:1;white-space:nowrap}
.pcp-prize-img{width:100%;aspect-ratio:4/3;overflow:hidden}
.pcp-prize-img img{display:block;width:100%;height:100%;object-fit:contain}
.pcp-prize-meta{display:flex;gap:8px;align-items:flex-start;width:100%;font-weight:400;line-height:1.6}
.pcp-prize-age{flex:none;color:var(--green-600);font-size:16px;white-space:nowrap}
.pcp-prize-notes{flex:1;min-width:0;color:var(--body-dark-sub);font-size:10px;text-align:right}
.pcp-prize-notes{container-type:inline-size;align-self:stretch}
.pcp-prize-note-large{font-size:12px;line-height:1.5}
.pcp-prize-note-large span{display:inline-block}
.pcp-prize-copy-fit{white-space:nowrap;font-size:min(10px,calc(100cqw / var(--fit-em,30)))}
.pcp-prize-btn{width:200px;height:40px;font-size:14px;letter-spacing:.7px;margin-top:auto}
.pcp-prize-btn .product-btn-illust{display:none}
.pcp-prize-btn .product-btn-label{translate:0 0}

.pcp-steps{position:relative;width:100%;margin:0;padding:0 0 80px;list-style:none;display:flex;gap:16px;align-items:stretch}
.pcp-step{position:relative;flex:280 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 20px;border-radius:20px;background:#fff;color:var(--green-600);text-align:center}
.pcp-step+.pcp-step::before{content:"";position:absolute;left:-8px;top:147px;width:18.5px;height:35px;background:url(../img/pcp2026/arrow.webp) center/contain no-repeat;z-index:1;translate:-50% 0}
.pcp-step-no{font-family:var(--font-en);font-size:20px;line-height:normal}
.pcp-step-no b{font-size:24px;font-weight:400}
.pcp-step-title{margin-top:-20px;font-size:24px;font-weight:700;line-height:normal}
.pcp-step-btn{position:relative;display:flex;align-items:center;justify-content:center;width:min(240px,100%);height:64px;border-radius:100px;background:var(--red-400);color:#fff;font-size:24px;font-weight:700;letter-spacing:1.2px;text-decoration:none;transition:background-color .3s ease-out}
.pcp-step-btn img{position:absolute;right:24px;width:10px;height:10px}
.pcp-step-btn.is-disabled{background:var(--green-300);font-size:20px;letter-spacing:1px}
@media(hover:hover){a.pcp-step-btn:hover{background:var(--red-200)}}
.pcp-step-note{color:var(--body-dark-sub);font-size:14px;font-weight:400;line-height:1.6}
.pcp-step-illust{width:200px;max-width:100%;height:auto}
.pcp-step-done{flex:195 1 0;width:auto;min-width:0;justify-content:center;gap:20px;background:var(--green-500);color:var(--body-light)}
.pcp-step-done .pcp-step-title{margin-top:0;font-size:28px}
.pcp-step-text{font-size:16px;font-weight:400;line-height:2}
@media(min-width:1101px) and (max-width:1239px){
 .pcp-steps{gap:12px}
 .pcp-step{padding:32px 12px;gap:16px}
 .pcp-step-title{margin-top:-16px;font-size:20px}
 .pcp-step-btn{height:56px;font-size:20px}
 .pcp-step-btn.is-disabled{font-size:16px;letter-spacing:.5px}
 .pcp-step-done .pcp-step-title{font-size:22px}
 .pcp-step-text{font-size:14px;line-height:1.8}
 .pcp-step+.pcp-step::before{left:-6px}
}

.pcp-terms{width:100%;display:flex;flex-direction:column;gap:10px;padding:60px;border-radius:20px;background:#fff}
.pcp-terms-title{padding:24px 0;border-top:2px dashed var(--blue-200);border-bottom:2px dashed var(--blue-200);color:var(--blue-400);font-size:28px;font-weight:700;line-height:normal;text-align:center}
.pcp-terms-set{display:flex;flex-direction:column;gap:10px;padding:10px 0;font-size:16px;font-weight:400;line-height:2}
.pcp-terms-set h3{font-size:16px;font-weight:700;line-height:2}
.pcp-terms-set a{color:inherit;text-decoration:underline;overflow-wrap:anywhere}
.pcp-terms-list{margin:0;padding:0 0 0 24px;list-style:disc}
.pcp .pcp-terms-list li{list-style:disc;margin:0}
.pcp-terms-notes{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;color:var(--body-dark-sub);font-size:16px;line-height:2}
.pcp-terms-notes li{position:relative;padding-left:1.25em}
.pcp-terms-notes li::before{content:"※";position:absolute;left:0;top:0;width:auto;height:auto;border-radius:0;background:none}
.pcp-terms-notes.is-small{font-size:14px}

.page-pcp .share{z-index:2;background:none}

@media(min-width:701px) and (max-width:1100px){
 .pcp-row{flex-direction:column;align-items:center}
 .pcp-side{position:relative;top:auto}
 .pcp-entry-side{margin-top:24px}
}
@media(min-width:701px) and (max-width:860px){
 .pcp-steps{flex-direction:column;align-items:center}
 .pcp-step,.pcp-step-done{width:100%;max-width:480px}
 .pcp-step+.pcp-step::before{left:50%;top:-28px;rotate:90deg;translate:-50% 0}
}

@media(max-width:700px){
 .pcp-tree{left:50%;translate:-50% 0;top:-100px;width:max(1115.44px,calc((100lvh + 120px) * 1.3092))}
 .stars-sp{left:calc(50% - 183.74px);top:19.87px;width:368px}
 .pcp-presents-sp{width:362px;left:calc(50% - 181px + var(--k,0) * 375px)}
 .pcp-row{width:calc(100% - 40px);flex-direction:column;align-items:center;gap:0;padding-bottom:80px}
 .pcp-side{position:relative;top:auto;width:100%}
 .pcp-h1 img{width:373px;max-width:calc(100vw - 2px);margin:0 auto}
 .pcp-entry-side{margin-top:0}
 .pcp-entry-after{display:flex;margin:0 auto}
 .pcp-body{width:100%}
 .pcp-notice{margin-top:40px;padding:24px 16px;font-size:16px}
 .pcp-copy{padding:40px 0 32px;font-size:16px}
 .is-ended .pcp-notice+.pcp-copy{padding-top:40px}
 .pcp-h2 img{height:50px}
 .pcp-prizes{padding-bottom:40px}
 .pcp-prize{gap:4px;padding:0 16px 20px;border-radius:16px}
 .pcp-prize-head{flex-direction:column;gap:10px;padding-right:0}
 .pcp-prize-no{width:30px;border-right:0;border-bottom:1px solid var(--red-500);font-size:24px}
 .pcp-prize-name{font-size:14px}
 .pcp-prize-count{left:auto;right:-4px;top:-10px;width:84px;height:84px;gap:2px;padding-bottom:22px;font-size:12px}
 .pcp-prize-count::before{left:2px;top:0;width:80px;height:68px}
 .pcp-prize-count b{font-size:32px}
 .pcp-prize-count-lead{left:46px;top:25px;font-size:8px;letter-spacing:.4px}
 .pcp-prize-no{padding-top:14px}
 .pcp-prize-img{aspect-ratio:40/30}
 .pcp-prize-meta{flex-direction:column;gap:0}
 .pcp-prize-age{align-self:center;font-size:13px}
 .pcp-prize-notes{text-align:left}
 .pcp-prize-note-large{font-size:11px}
 .pcp-prize-copy-fit{white-space:normal;font-size:8px}
 .pcp-prize-btn{width:100%}
 .pcp-steps{flex-direction:column;gap:16px}
 .pcp-step,.pcp-step-done{width:100%;padding:20px;gap:20px}
 .pcp-step-done{gap:10px}
 .pcp-step+.pcp-step::before{left:50%;top:-28px;rotate:90deg}
 .pcp-step-no{font-size:16px}
 .pcp-step-no b{font-size:18px}
 .pcp-step-title{font-size:18px;line-height:1.6}
 .pcp-step-done .pcp-step-title{font-size:24px}
 .pcp-step-btn{width:260px}
 .pcp-step-note{line-height:1.5}
 .pcp-step-illust{height:100px;width:auto}
 .pcp-step-text{font-size:14px;line-height:1.6}
 .pcp-terms{padding:40px 24px}
 .pcp-terms-set{font-size:14px}
 .pcp-terms-notes{font-size:14px}
 .pcp-terms-notes.is-small{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.pcp-entry,.pcp-entry-gift{transition:none}.pcp-h1{animation:none}}
