*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{display:flex;flex-direction:column;min-height:100dvh;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,picture,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}body{font-family:Poppins,Noto Sans JP,sans-serif;color:#42210b;font-size:clamp(.9375rem,.92rem + .1vw,1rem)}h1,h2{font-family:League Spartan,Noto Sans JP,sans-serif;font-weight:800;line-height:1.2}h3{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:800;line-height:1.3}h2{font-size:clamp(1.75rem,1.3rem + 2vw,3.125rem)}h3{font-size:clamp(1.1rem,1rem + .7vw,1.6rem)}p{font-size:clamp(.9375rem,.92rem + .1vw,1rem)}.button{display:inline-block;padding:.75em 2em;border-radius:999px;background:#e23212;color:#fff;font-weight:700;text-align:center;text-decoration:none}.button:hover{opacity:.9}.button--outline{background:transparent;border:1px solid #e23212;color:#e23212}.button--gold{background:#ca8e1f}.hero{position:relative;background:#f9f0d9;overflow:hidden}.hero__nav{position:absolute;z-index:2;top:16px;right:16px;display:flex;justify-content:flex-end}@media (min-width: 768px){.hero__nav{right:24px}}.hero__nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:40px;padding:0;background:#fff;border:1px solid #e3d5bf;border-radius:8px;box-shadow:0 2px 8px #00000026;cursor:pointer}.hero__nav-toggle-bar{display:block;width:20px;height:2px;background:#42210b;transition:transform .2s ease,opacity .2s ease}.hero__nav-toggle.is-open .hero__nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.hero__nav-toggle.is-open .hero__nav-toggle-bar:nth-child(2){opacity:0}.hero__nav-toggle.is-open .hero__nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (min-width: 768px){.hero__nav-toggle{display:none}}.hero__nav-list{display:none;position:absolute;top:100%;right:16px;z-index:5;flex-direction:column;gap:8px;margin:8px 0 0;padding:16px;list-style:none;background:#fff;border:1px solid #e3d5bf;border-radius:8px;box-shadow:0 8px 20px #00000026;font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem);color:#42210b}.hero__nav-list.is-open{display:flex}.hero__nav-list li{padding:0}.hero__nav-list a{color:inherit;text-decoration:none}.hero__nav-list a:hover{text-decoration:underline}@media (min-width: 768px){.hero__nav-list{display:flex;position:static;flex-direction:row;flex-wrap:wrap;justify-content:center;margin:0;padding:0;background:none;border:none;box-shadow:none;font-size:clamp(.8125rem,.75rem + .28vw,1rem)}.hero__nav-list li{position:relative;padding:0 12px 4px 0}.hero__nav-list li:not(:last-child):after{content:"|";position:absolute;right:4px;opacity:.5}}.hero__visual{display:block;width:100%;height:auto}.event{background:#e23212;padding:40px 16px}.event__title{color:#fff;text-align:center;margin:0 0 32px}.event__list{display:grid;gap:24px;max-width:1230px;margin:0 auto}@media (min-width: 768px){.event__list{grid-template-columns:1fr 1fr}}.event__item{background:#fff;border:1px solid #e1b945;color:#42210b;padding:24px;border-radius:12px}.event__item-title{margin:0 0 4px}.event__item-subtitle{font-weight:800;font-size:clamp(1.0625rem,.96rem + .46vw,1.375rem);color:#e23212;margin:0 0 8px}.event__item-subtitle--sub{font-size:clamp(.875rem,.8rem + .33vw,1.1rem);font-weight:600;line-height:1.4;margin-bottom:16px}.event__badge{display:inline-block;background:#e23212;color:#fff;font-weight:700;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem);padding:6px 16px;border-radius:999px;margin:0 0 8px}.event__note{color:#e23212;font-size:clamp(.6875rem,.67rem + .09vw,.75rem);margin:0 0 16px}.event__sub-heading{color:#e23212;font-weight:800;font-size:clamp(.9375rem,.87rem + .28vw,1.125rem);margin:0 0 8px}.event__meta-line{font-weight:600;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem);margin:0 0 4px}.event__address{font-size:clamp(.6875rem,.64rem + .19vw,.8125rem);margin:0 0 12px}.event__divider{border:none;border-top:1px solid #e1b945;margin:16px 0}.event__item-body{margin:0 0 12px;line-height:1.6;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem)}.event__item-body--tight{font-weight:600}.event__item-body a{color:#000d99;text-decoration:underline}.event__photos{display:flex;gap:8px;margin-top:16px}.event__photo{display:block;width:50%;height:auto;aspect-ratio:260/190;object-fit:cover;border-radius:4px}.about{background:#ca8e1f;color:#fff;padding:80px 16px;text-align:center;position:relative}.about:before{content:"";display:block;width:100%;max-width:500px;aspect-ratio:691/43;margin:0 auto 24px;background-image:url(./about_bg-img-DvfLC_mH.png);background-size:contain;background-repeat:no-repeat;background-position:center}.about__title{margin-bottom:24px}.about__subtitle{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);margin:0 auto 24px}.about__body{max-width:900px;margin:0 auto 16px;line-height:1.6;font-size:clamp(.875rem,.79rem + .37vw,1.125rem)}.about__gallery{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;max-width:1230px;margin:24px auto 0}.about__photo{display:block;flex:1 1 280px;max-width:340px;height:auto;aspect-ratio:310/222;object-fit:cover;border-radius:4px}.how-to{background:#fff;padding:80px 16px;text-align:center}.how-to__title{color:#42210b;margin-bottom:16px}.how-to__subtitle{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);max-width:800px;margin:0 auto 48px;line-height:1.5}.how-to__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 24px;max-width:1230px;margin:0 auto 72px;padding:0;list-style:none}@media (min-width: 768px){.how-to__steps{grid-template-columns:repeat(4,1fr)}}.how-to__step{text-align:center}.how-to__icon{display:block;width:240px;height:auto;max-width:100%;aspect-ratio:1/1;margin:0 auto 12px}.how-to__step-title{color:#e23212;text-transform:uppercase;font-size:clamp(1.25rem,1.08rem + .74vw,1.75rem);margin:0 0 4px}.how-to__step-body{font-family:Poppins,Noto Sans JP,sans-serif;font-size:clamp(.875rem,.79rem + .37vw,1.125rem);line-height:1.5;margin:0;color:#42210b}.how-to__step-body a{color:#000d99}.how-to__note{color:#e23212;font-size:clamp(.9375rem,.92rem + .1vw,1rem);line-height:1.6;max-width:1230px;margin:0 auto}.rewards{background:#f9f0d9;padding:64px 16px 77px;text-align:center}.rewards__title{color:#42210b;margin-bottom:22px}.rewards__subtitle{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);margin:0 auto 4px}.rewards__period{font-size:clamp(1rem,.92rem + .37vw,1.25rem);margin:0 auto 52px}.rewards__note{color:#e23212;font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(.9375rem,.92rem + .1vw,1rem);line-height:1.5;max-width:1230px;margin:44px auto 0}.rewards__cta{margin-top:61px}.rewards__cta .button{display:inline-flex;align-items:center;justify-content:center;width:450px;max-width:100%;height:78px;padding:0;color:#fff;font-family:Poppins,Noto Sans JP,sans-serif;font-size:clamp(18px,16px + .56vw,24px);font-style:normal;font-weight:600;line-height:normal}.reward-card{min-width:0;text-align:center}.reward-card__image{display:block;width:100%;aspect-ratio:350/250;object-fit:cover;border-radius:4px;margin-bottom:12px}.reward-card__name{color:#e23212;font-weight:700;font-size:clamp(1.125rem,1rem + .56vw,1.5rem);margin:0}.reward-card__qty{display:block;font-weight:700;font-size:clamp(.875rem,.79rem + .37vw,1.125rem)}.reward-card__store{color:#42210b;font-weight:500;font-size:clamp(.875rem,.79rem + .37vw,1.125rem);line-height:1.5;margin:2px 0 0}.reward-card__locations{font-weight:400;font-size:clamp(.75rem,.71rem + .19vw,.875rem);line-height:1.5;color:#42210b;margin:2px 0 0}.reward-card__label{margin-top:8px;font-size:clamp(.75rem,.71rem + .19vw,.875rem);text-align:center}.reward-card__special-badge{display:flex;align-items:center;justify-content:center;aspect-ratio:350/250;background:#ca8e1f;border-radius:4px;margin-bottom:8px;font-family:League Spartan,Noto Sans JP,sans-serif;font-weight:800;font-size:clamp(1rem,.92rem + .37vw,1.25rem);color:#fff}.reward-card__special-badge span{color:#e23212;-webkit-text-stroke:1px #ffffff;margin:0 4px}.rewards-page__main .reward-card__image,.rewards-page__main .reward-card__special-badge{margin-bottom:0;border-radius:4px 4px 0 0}.rewards-page__main .reward-card__info{padding:12px 12px 16px}.rewards-page__main .reward-card__name{font-size:clamp(1.125rem,1rem + .56vw,1.5rem)}.rewards-page__main .reward-card__store{font-size:clamp(.875rem,.79rem + .37vw,1.125rem);font-weight:500}.rewards-page__main .reward-card__locations{font-size:clamp(.75rem,.71rem + .19vw,.875rem);font-weight:400}.reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px;max-width:1230px;margin:0 auto}@media (min-width: 768px){.reward-grid{grid-template-columns:repeat(3,1fr);gap:57px 90px}}.checkpoints{background:#e23212;color:#fff;padding:80px 16px;text-align:center}.checkpoints__title{margin-bottom:16px}.checkpoints__subtitle{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);max-width:700px;margin:0 auto;line-height:1.4}.checkpoints__map{position:relative;aspect-ratio:16/9;background:#e3d5bf;margin:32px auto 0;max-width:1230px;overflow:hidden}.checkpoints__map iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;border:0}.checkpoints__cta{margin-top:48px}.qa{background:#f9f0d9;padding:80px 16px}.qa__title{text-align:center;margin:0 auto 48px;max-width:1230px}.accordion{max-width:800px;margin:0 auto}.accordion__category{background:#e23212;color:#fff;font-weight:600;font-size:clamp(.9375rem,.87rem + .28vw,1.125rem);padding:10px 16px;border-radius:4px;margin:24px 0 12px}.accordion__category:first-child{margin-top:0}.accordion__item{background:#fff;border:1px solid #e1b945;border-radius:12px;margin-bottom:12px;overflow:hidden}.accordion__question{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;text-align:left;background:none;border:none;cursor:pointer;font:inherit}.accordion__badge{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:clamp(.6875rem,.67rem + .09vw,.75rem)}.accordion__badge--q{background:#ca8e1f;color:#42210b}.accordion__badge--a{background:#e23212;color:#fff;align-self:flex-start}.accordion__question-text{flex:1;font-weight:700;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem)}.accordion__icon{flex:none;color:#2b2320;opacity:.5;font-size:clamp(.6875rem,.67rem + .09vw,.75rem);transition:transform .2s ease}.accordion__item.is-open .accordion__icon{transform:rotate(180deg)}.accordion__answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease;overflow:hidden}.accordion__item.is-open .accordion__answer{grid-template-rows:1fr}.accordion__answer-inner{min-height:0;overflow:hidden}.accordion__answer-content{display:flex;align-items:flex-start;gap:12px;padding:12px 16px 16px;border-top:1px solid #e3d5bf}.accordion__answer-text{flex:1;margin:0;font-size:clamp(.75rem,.71rem + .19vw,.875rem);line-height:1.6;color:#2b2320}.accordion__answer-text a{color:#1a5fd6}.contact{background:#fff;padding:80px 16px;text-align:center}.contact__title{color:#42210b;margin-bottom:16px}.contact__intro{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);max-width:560px;margin:0 auto;line-height:1.4}.contact-form{margin:32px auto 0;max-width:800px;padding:32px;border:1px solid #e3d5bf;border-radius:4px;text-align:left}.contact-form__row{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}@media (min-width: 768px){.contact-form__row{flex-direction:row;align-items:flex-start;gap:16px}}.contact-form__label{flex:none;display:block;font-weight:500;font-size:clamp(.8125rem,.77rem + .19vw,.9375rem);padding-top:12px}@media (min-width: 768px){.contact-form__label{width:140px}}.contact-form__required{color:#d70c18}.contact-form__field{display:block;width:100%;padding:12px;border:none;border-radius:4px;background:#f0f0f0;font:inherit}.contact-form__field--textarea{resize:vertical;min-height:220px}.contact-form__submit{display:flex;align-items:center;justify-content:center;width:250px;max-width:100%;height:60px;margin:16px auto 0;padding:0;border:none;cursor:pointer;font-family:Poppins,Noto Sans JP,sans-serif;font-size:clamp(18px,16px + .56vw,24px);font-weight:600;line-height:normal}.contact-form__submit:disabled{opacity:.6;cursor:not-allowed}.contact-form__status{margin:12px 0 0;text-align:center;font-weight:500}.contact-form__status--success{color:#1a7a3c}.contact-form__status--error{color:#d70c18}.site-footer{margin-top:auto;flex-shrink:0}.site-footer__notes{background:#fff;padding:0 16px 64px;max-width:1230px;margin:0 auto}.site-footer__notes-title{margin:0 0 8px;font-size:clamp(.875rem,.83rem + .19vw,1rem);font-weight:500;color:#42210b}.site-footer__notes-list{margin:0;padding-left:1.25em;list-style:disc;font-size:clamp(.75rem,.71rem + .19vw,.875rem);font-weight:300;line-height:1.7;color:#42210b}.site-footer__notes-list a{color:#000d99;text-decoration:underline}.site-footer__bar{background:#e23212;padding:16px;text-align:center}.site-footer__copyright{margin:0;color:#fff;font-size:clamp(.6875rem,.67rem + .09vw,.75rem);opacity:.85}.to-top{position:fixed;right:16px;bottom:160px;z-index:10;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid #ca8e1f;color:#ca8e1f;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 2px 8px #00000026}.to-top svg{width:20px;height:20px}@media (min-width: 768px){.to-top{right:24px;bottom:24px;width:56px;height:56px}.to-top svg{width:24px;height:24px}}.to-top.is-visible{opacity:1;pointer-events:auto}.join-cta{position:fixed;z-index:15;display:block;text-decoration:none;transition:opacity .2s ease}.join-cta:hover{opacity:.9}.join-cta{left:50%;bottom:16px;transform:translate(-50%);width:70%;max-width:360px}@media (min-width: 768px){.join-cta{left:auto;bottom:auto;top:104px;right:24px;transform:none;width:132px;max-width:none}}@media (min-width: 1080px){.join-cta{width:230px}}.join-cta.is-hidden{opacity:0;pointer-events:none}.join-cta__image{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.join-cta__image--pc{display:none}@media (min-width: 768px){.join-cta__image--sp{display:none}.join-cta__image--pc{display:block}}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}.fade-in:nth-child(1){transition-delay:0s}.fade-in:nth-child(2){transition-delay:.08s}.fade-in:nth-child(3){transition-delay:.16s}.fade-in:nth-child(4){transition-delay:.24s}.fade-in:nth-child(5){transition-delay:.32s}.fade-in:nth-child(6){transition-delay:.4s}.fade-in:nth-child(7){transition-delay:.48s}.fade-in:nth-child(8){transition-delay:.56s}@media (prefers-reduced-motion: reduce){.fade-in{opacity:1;transform:none;transition:none}}body.rewards-page-body{background:#f9f0d9}.rewards-page__header{background:#e23212;color:#fff;padding:32px 16px 24px;text-align:center}.rewards-page__logo{font-family:League Spartan,Noto Sans JP,sans-serif;font-weight:800;font-size:clamp(1.5rem,1.1rem + 2vw,2.25rem);margin:0}.rewards-page__logo-sub{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:700;font-style:italic;font-size:clamp(1rem,.9rem + .5vw,1.25rem);margin:4px 0 0}.rewards-page__main{max-width:1230px;margin:0 auto;padding:32px 16px 48px;text-align:center}.rewards-page__title{color:#42210b;margin-bottom:16px}.rewards-page__subtitle{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(1rem,.81rem + .83vw,1.5625rem);margin:0 auto 4px}.rewards-page__period{font-size:clamp(1rem,.92rem + .37vw,1.25rem);color:#42210b;margin:0 auto 32px}.rewards-page__note{color:#e23212;font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(.6875rem,.64rem + .19vw,.8125rem);line-height:1.7;max-width:1230px;margin:32px auto 0}.rewards-page__cta{margin-top:24px}.stores-page__header{background:#e23212;color:#fff;padding:32px 16px 24px;text-align:center}.stores-page__logo{font-family:League Spartan,Noto Sans JP,sans-serif;font-weight:800;font-size:clamp(1.5rem,1.1rem + 2vw,2.25rem);margin:0}.stores-page__logo-sub{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:700;font-style:italic;font-size:clamp(1rem,.9rem + .5vw,1.25rem);margin:4px 0 0}.stores-page__main{max-width:1230px;margin:0 auto;padding:32px 16px 48px}.stores-page__title{color:#42210b;text-align:center;margin-bottom:24px}.stores-page__search-wrap{display:flex;justify-content:center;margin-bottom:24px}.stores-page__search{width:100%;max-width:480px;padding:12px 16px;border:1px solid #e3d5bf;border-radius:999px;font:inherit;color:#42210b}.stores-page__search::placeholder{color:gray}.stores-page__nav{display:flex;flex-wrap:wrap;justify-content:center;font-family:Poppins,Noto Sans JP,sans-serif;font-weight:400;font-size:clamp(1rem,.94rem + .28vw,1.1875rem);margin-bottom:32px}.stores-page__nav a{color:#000d99}.stores-page__nav a:hover{text-decoration:underline}.stores-page__nav-item{position:relative;padding:0 12px 8px 0}.stores-page__nav-item:last-child{padding-right:0}.stores-page__nav-item:not(:last-child):after{content:"|";position:absolute;right:4px;color:#e0e0e0}.stores-page__nav-disabled{color:#e3d5bf}.stores-page__group{margin-bottom:32px;scroll-margin-top:16px}.stores-page__group-heading{font-family:Poppins,Noto Sans JP,sans-serif;font-weight:500;font-size:clamp(2rem,1.7rem + 1vw,2.8rem);color:#42210b;margin:0 0 16px}.stores-page__list{display:grid;gap:24px 16px}@media (min-width: 768px){.stores-page__list{grid-template-columns:repeat(3,1fr)}}.stores-page__entry-name{font-weight:500;margin:0 0 2px}.stores-page__entry-links{font-weight:500;margin:0}.stores-page__entry-links a{color:#000d99}.stores-page__entry-links a:hover{text-decoration:underline}.stores-page__sep{color:#666;margin:0 4px}.privacy-page{padding:32px 16px;max-width:720px;margin:0 auto;line-height:1.8}.privacy-page h1{margin-bottom:16px}.privacy-page h2{font-size:clamp(1.375rem,1.25rem + .56vw,1.75rem);margin:48px 0 16px}.privacy-page h3{margin:24px 0 8px}.privacy-page p{margin:0 0 16px}.privacy-page ul{list-style:disc;padding-left:1.25em;margin:0 0 16px}
