/* Campaign additions are scoped to cp-*; the existing prize/form layout is preserved. */
.cp-guide{--cp-navy:#0b1725;--cp-gold:#c5a76e;--cp-ink:#19232c;--cp-muted:#606b71;margin:0;color:var(--cp-ink);background:#fff;font:400 15px/1.9 "Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}
.cp-guide *,.cp-teaser *,.cp-thanks-guide *{box-sizing:border-box}
.cp-guide h1,.cp-guide h2,.cp-guide h3,.cp-guide p,.cp-guide figure{margin:0}
.cp-guide a{color:inherit;text-decoration:none}
.cp-guide img{display:block;max-width:100%;height:auto}
.cp-guide button,.cp-guide summary,.cp-guide a{touch-action:manipulation}
.cp-guide a:focus-visible,.cp-guide summary:focus-visible,.cp-teaser a:focus-visible,.cp-fv-link:focus-visible{outline:3px solid #5786af;outline-offset:5px}
.cp-icon{width:21px;height:21px;flex-shrink:0;display:inline-block;vertical-align:middle}
.cp-wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.cp-kicker{font:600 10px/1.6 "Manrope","Noto Sans JP",sans-serif;letter-spacing:.14em;color:#8a7349;margin:0 0 14px}
.cp-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:32px}
.cp-section-heading h2{font:600 clamp(25px,2.6vw,34px)/1.6 "Noto Sans JP",sans-serif;letter-spacing:.04em;margin:0;color:#19232c}
.cp-intro-note{max-width:410px}
.cp-intro-note p{margin:12px 0 0;font:400 13px/1.9 "Noto Sans JP",sans-serif;color:#5e6468}
.cp-badge{display:inline-block;padding:5px 13px;border:1px solid #d7c7a6;color:#62502f;background:#fff;font:600 12px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.04em}
.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 19px;border:1px solid #d4d9db;background:#fff;color:#19232c;text-decoration:none;font:500 13px/1.6 "Noto Sans JP",sans-serif;transition:background .18s,color .18s}
.cp-button:hover{background:#edf0f1}
.cp-button.cp-primary{background:#122337;border-color:#122337;color:#fff}
.cp-button.cp-primary:hover{background:#274057}
.cp-button.cp-gold{background:#d3b67c;border-color:#d3b67c;color:#101c2a}
.cp-button.cp-gold:hover{background:#e4c891}
.cp-button .cp-icon:last-child{margin-left:16px}
.cp-period{color:#60686b;font:400 12px/1.8 "Noto Sans JP",sans-serif;margin:0 0 25px}
.cp-period strong{font-family:"Manrope",sans-serif;margin-left:20px;font-weight:600;letter-spacing:.08em}
.cp-review-banner{background:#e9ece8;color:#465246;padding:7px 20px;text-align:center;font:11px/1.7 "Noto Sans JP",sans-serif}
.cp-review-banner span{margin-left:15px}
.cp-skip{position:absolute;top:-100px;left:20px;z-index:1000;background:white;padding:12px}
.cp-skip:focus{top:5px}
.cp-header{height:84px;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #e3e6e8;background:rgba(255,255,255,.97)}
.cp-header img{width:126px;height:auto}
.cp-header nav{display:flex;gap:28px;align-items:center;font-size:12px}
.cp-header a:hover{text-decoration:underline;text-underline-offset:5px}
.cp-header .cp-back{padding-left:28px;border-left:1px solid #d4d9db;color:#5e676e}
.cp-hero{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:#0b1725;color:#fff}
.cp-hero-copy{padding:68px 40px 58px max(48px,calc((100vw - 1160px)/2));align-self:center}
.cp-hero .cp-kicker{color:#c5a76e;font-size:10px;letter-spacing:.1em}
.cp-hero h1{font-weight:500;font-size:clamp(31px,3.2vw,46px);letter-spacing:.045em;line-height:1.65;margin:20px 0}
.cp-hero-lead{font-size:14px;line-height:2.1;color:#d7dde1}
.cp-hero-period{margin-top:26px!important;font-size:11px;color:#ccd1d5}
.cp-hero-period strong{display:block;color:#fff;font:500 18px/1.7 "Manrope",sans-serif;letter-spacing:.06em;margin-top:2px}
.cp-hero .cp-button{margin-top:26px;min-width:260px}
.cp-hero-note{margin-top:16px!important;font-size:11px;color:#c2c9ce}
.cp-hero figure{position:relative;min-width:0;min-height:100%;overflow:hidden}
.cp-hero figure>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:48% center}
.cp-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 30px 20px;background:linear-gradient(transparent,rgba(3,9,13,.7));color:#fff;display:flex;justify-content:space-between;gap:20px;font:500 9px/1.6 "Manrope",sans-serif;letter-spacing:.14em}
.cp-hero figcaption span{font:400 10px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.05em}
.cp-benefit-section{padding-block:78px 64px;scroll-margin-top:30px}
.cp-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cp-benefit{min-width:0;background:white;border:1px solid #dde1e2}
.cp-benefit-image{position:relative;height:175px;background:#fafaf9;display:grid;place-items:center;overflow:hidden}
.cp-benefit-image img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.cp-benefit-copy{padding:24px}
.cp-benefit-copy .cp-kicker{font-size:10px;margin:0 0 12px}
.cp-benefit h3{font:600 18px/1.65 "Noto Sans JP",sans-serif;margin:0 0 12px;color:#182838;letter-spacing:0}
.cp-benefit-copy>p:not(.cp-kicker){font:400 12px/1.9 "Noto Sans JP",sans-serif;color:#525f67;margin:0;min-height:68px}
.cp-benefit details{font-size:11px;color:#626d74;margin-top:20px;border-top:1px solid #e3e6e7;padding-top:13px;line-height:1.9}
.cp-benefit summary{cursor:pointer;color:#344756}
.cp-benefit ul{padding-left:1.4em;margin:12px 0 0}
.cp-benefit li+li{margin-top:5px}
.cp-present{display:flex;gap:22px;align-items:center;padding:25px 30px;margin-top:25px;background:#f3f5f5;border:1px solid #e3e7e8}
.cp-present>span .cp-icon{width:30px;height:30px;stroke:#8c7751}
.cp-present p{font-size:12px;line-height:1.9;color:#5c686f}
.cp-present p strong{font-size:14px;font-weight:600;color:#243543}
.cp-present>a{margin-left:auto;white-space:nowrap;font-size:12px;border-bottom:1px solid #9ca7ad;padding-block:5px}
.cp-stores-section{background:#f5f6f6;padding-block:70px 65px;scroll-margin-top:20px}
.cp-region-summary{font-size:11px;color:#647078;padding-bottom:6px}
.cp-region-summary span{margin-inline:8px}
.cp-store-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:35px 0 42px}
.cp-store-jumps a{padding:13px 16px;border:1px solid #d8dee1;background:white;display:flex;justify-content:space-between;gap:8px;font-size:12px}
.cp-store-jumps a:hover{background:#152a3d;color:white;border-color:#152a3d}
.cp-store-jumps span{color:#9a8254}
.cp-store-list{background:white;padding-inline:35px}
.cp-store{padding-block:35px;display:grid;grid-template-columns:50px minmax(0,1fr) 300px;gap:25px;border-bottom:1px solid #e0e5e7;scroll-margin-top:20px}
.cp-store:last-child{border-bottom:0}
.cp-store-number{color:#bba77e;font:400 27px/1.2 "Manrope",sans-serif;padding-top:2px}
.cp-store-heading .cp-kicker{font-size:9px;margin:0 0 6px;letter-spacing:.09em}
.cp-store-heading .cp-kicker span{color:#6d777e;font-weight:400}
.cp-store-heading h3{font-size:23px;line-height:1.6;font-weight:600;letter-spacing:.02em}
.cp-store-body address{font-size:12px;line-height:1.8;font-style:normal;color:#515f68;margin-top:10px}
.cp-store-phone{font:400 10px/1.8 "Manrope",sans-serif;color:#65717a;margin-top:8px!important}
.cp-store-phone span{font-size:12px;letter-spacing:.05em;margin-left:8px}
.cp-store-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.cp-store-tags span{font-size:10px;line-height:1.5;padding:3px 8px;border:1px solid #e3e7e8;color:#65727b}
.cp-store-actions{align-self:center}
.cp-store-actions>.cp-button{display:flex;width:100%;justify-content:flex-start}
.cp-store-actions>.cp-button>span:last-child{margin-left:auto}
.cp-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cp-secondary-actions .cp-button{padding:10px;gap:7px;font-size:12px;min-height:46px}
.cp-secondary-actions .cp-icon{width:17px;height:17px}
.cp-store-actions>p{font-size:10px;color:#778188;margin-top:9px;text-align:center}
.cp-store-information{font-size:12px;line-height:1.8;color:#66747c;margin-top:25px!important;text-align:center}
.cp-closing{text-align:center;padding-block:70px}
.cp-closing h2{font-size:27px;font-weight:500;margin:18px 0}
.cp-closing>p:not(.cp-kicker){color:#62717b;font-size:13px}
.cp-text-link{display:inline-flex;gap:30px;align-items:center;font-size:13px;border-bottom:1px solid #82909b;padding-block:10px;margin-top:25px}
.cp-footer{background:#102030;color:#d5dce2;padding:30px 40px;display:flex;gap:30px;align-items:center;font-size:11px}
.cp-footer small{margin-left:auto;font:400 9px/1.6 "Manrope",sans-serif}
.cp-mobile-nav{display:none}
.cp-sp{display:none}
.cp-fv-link{display:block;width:fit-content;margin-top:19px;color:#e6d5ad;font:500 12px/1.8 "Noto Sans JP",sans-serif;text-decoration:underline;text-underline-offset:5px}
.cp-teaser{background:#f4f6f6;border-top:1px solid #dce2e5;padding-block:72px;color:#19232c;text-align:left;font-family:"Noto Sans JP",sans-serif}
.cp-teaser .cp-benefit-image{height:145px}
.cp-teaser .cp-benefit-copy{padding:22px}
.cp-teaser .cp-small{font:400 11px/1.9 "Noto Sans JP",sans-serif;color:#6a757c;margin:20px 0 0}
.cp-teaser-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}
.cp-teaser-bottom p{font:400 14px/1.8 "Noto Sans JP",sans-serif;margin:0;color:#475c69}
.cp-teaser-bottom .cp-button{min-width:320px}
.cp-thanks-guide{padding-block:60px;text-align:center}
.cp-thanks-guide h2{font:600 24px/1.7 "Noto Sans JP",sans-serif;color:#192b3c}
.cp-thanks-guide>p:not(.cp-kicker){font:400 14px/1.9 "Noto Sans JP",sans-serif;color:#62717b;margin:22px 0}
.cp-review-tools{position:fixed;z-index:1001;right:12px;bottom:12px;max-width:min(400px,calc(100vw - 24px));padding:12px 16px;border:1px solid #aebdc8;background:#fff;color:#183144;box-shadow:0 6px 28px #0002;font:12px/1.7 "Noto Sans JP",sans-serif}
.cp-review-tools summary{cursor:pointer;font-weight:600}
.cp-review-tools label{display:flex;gap:7px;align-items:center;margin-block:10px}
.cp-review-tools input{width:16px;height:16px}
.cp-review-tools output{display:block;background:#f0f4f5;padding:10px;margin-top:8px;min-height:40px}
.cp-review-tools p{font:11px/1.7 "Noto Sans JP",sans-serif!important;margin-top:8px!important;color:#5b6e7b!important}
@media(max-width:1000px){.cp-wrap{width:calc(100% - 56px)}.cp-header{padding-inline:28px}.cp-hero-copy{padding:45px 28px}.cp-hero{min-height:500px}.cp-hero h1{font-size:32px}.cp-section-heading{align-items:flex-start;flex-direction:column;gap:20px}.cp-benefits{gap:16px}.cp-benefit-copy{padding:20px}.cp-benefit h3{font-size:16px}.cp-store{grid-template-columns:36px minmax(0,1fr) 255px;gap:20px}.cp-store-list{padding-inline:25px}.cp-store-heading h3{font-size:21px}.cp-present{flex-wrap:wrap}.cp-present>a{margin-left:52px}.cp-teaser-bottom{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:680px){.cp-wrap{width:calc(100% - 40px)}.cp-review-banner{font-size:10px;padding:6px 12px}.cp-review-banner span{display:none}.cp-header{height:70px;padding:14px 20px;gap:20px}.cp-header img{width:103px}.cp-header nav{gap:20px;font-size:11px}.cp-header .cp-back{display:none}.cp-hero{display:flex;flex-direction:column;min-height:0}.cp-hero-copy{padding:34px 24px 30px}.cp-hero .cp-kicker{font-size:8px}.cp-hero h1{font-size:32px;line-height:1.65;margin:20px 0}.cp-hero-lead{font-size:13px}.cp-hero-period{margin-top:21px!important;font-size:10px}.cp-hero-period strong{display:inline-block;margin-left:10px;font-size:15px}.cp-hero .cp-button{margin-top:23px;min-width:0;width:100%;min-height:52px;font-size:13px}.cp-hero-note{font-size:10px;line-height:1.9}.cp-hero figure{height:230px;min-height:0}.cp-hero figcaption{padding:22px 20px 13px;font-size:8px}.cp-hero figcaption span{font-size:9px}.cp-benefit-section{padding-block:45px}.cp-section-heading{gap:21px;margin-bottom:25px}.cp-section-heading h2{font-size:25px;line-height:1.65;letter-spacing:.025em}.cp-intro-note p{font-size:12px}.cp-badge{font-size:11px;padding:4px 10px}.cp-kicker{font-size:9px;margin-bottom:10px}.cp-sp{display:block}.cp-benefits{grid-template-columns:1fr;gap:14px}.cp-benefit{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start}.cp-benefit-image,.cp-teaser .cp-benefit-image{height:130px;margin-top:16px}.cp-benefit-copy,.cp-teaser .cp-benefit-copy{padding:20px 17px 20px 12px}.cp-benefit-copy .cp-kicker{font-size:8px;margin-bottom:8px}.cp-benefit h3{font-size:16px;line-height:1.65;margin-bottom:9px}.cp-benefit-copy>p:not(.cp-kicker){font-size:12px;min-height:0}.cp-benefit details{font-size:11px;margin-top:15px}.cp-present{gap:12px;padding:22px 18px;margin-top:20px}.cp-present>span{display:none}.cp-present p{font-size:11px}.cp-present p strong{font-size:13px}.cp-present>a{margin-left:0;font-size:12px}.cp-stores-section{padding-block:45px}.cp-region-summary{font-size:10px}.cp-store-jumps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:25px 0}.cp-store-jumps a{font-size:11px;padding:12px}.cp-store-list{padding-inline:20px}.cp-store{grid-template-columns:28px minmax(0,1fr);gap:0 12px;padding-block:28px;scroll-margin-top:12px}.cp-store-number{font-size:21px}.cp-store-heading .cp-kicker{font-size:8px}.cp-store-heading h3{font-size:21px}.cp-store-body address{font-size:12px;margin-top:9px;overflow-wrap:anywhere}.cp-store-actions{grid-column:1/-1;margin-top:21px}.cp-store-actions>p{font-size:9px}.cp-store-tags{gap:6px}.cp-store-tags span{font-size:9px}.cp-store-information{text-align:left;font-size:11px}.cp-closing{padding-block:47px}.cp-closing h2{font-size:22px;line-height:1.8}.cp-closing>p:not(.cp-kicker){font-size:12px}.cp-text-link{font-size:12px}.cp-footer{flex-wrap:wrap;padding:27px 20px 90px;gap:17px;font-size:10px}.cp-footer small{margin-left:0;width:100%;font-size:8px}.cp-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:.8fr 1.2fr;background:#fff;border-top:1px solid #d7dfe4;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:9px}.cp-mobile-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;font-size:11px;color:#233744;border:1px solid #d7dfe4}.cp-mobile-nav a:last-child{background:#122337;color:#fff;border-color:#122337}.cp-mobile-nav .cp-icon{width:16px;height:16px}.cp-fv-link{font-size:11px;margin-top:16px}.cp-teaser{padding-block:45px}.cp-teaser .cp-period{font-size:10px;margin-bottom:20px}.cp-period strong{margin-left:10px}.cp-teaser-bottom{margin-top:25px}.cp-teaser-bottom p{font-size:12px}.cp-teaser-bottom .cp-button{min-width:0;width:100%;font-size:12px}.cp-thanks-guide h2{font-size:21px}.cp-thanks-guide>p:not(.cp-kicker){font-size:12px}.cp-thanks-guide .cp-button{width:100%;font-size:12px}.cp-review-tools{bottom:78px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.cp-button{transition:none}}
