
.review-bar{padding:14px 24px;background:#62402c;color:white;text-align:center;font-size:14px;font-weight:700}
.special-cooperation{margin-top:24px;padding:36px;background:#eeede6;border-top:3px solid #4d2e28}.special-cooperation .kicker{margin:0 0 14px}.catalog .special-cooperation h2{font-family:"Yu Gothic",Meiryo,sans-serif;font-size:clamp(22px,3vw,30px);line-height:1.6;margin:0 0 18px}.special-cooperation p{line-height:1.9}.special-cooperation a{color:#315e39;text-underline-offset:4px}.cooperation-thanks{font-weight:700;color:#4d2e28}@media(max-width:650px){.special-cooperation{padding:24px 20px}}
.prize-heading{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding-bottom:24px;border-bottom:3px solid #4d2e28}.prize-number{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 94px;min-height:104px;margin:0;background:#4d2e28;color:white;border-radius:8px;line-height:1.15;font-family:"Yu Gothic",Meiryo,sans-serif}.prize-number span{font-size:14px;font-weight:700;letter-spacing:.12em}.prize-number strong{font-size:52px;font-weight:800;letter-spacing:.02em;margin-top:5px}.prize-heading-text{min-width:0}.prize-heading .kicker{margin:0 0 8px}.prize-block .prize-heading h3{margin:0}.coffee-heading{padding:32px 36px;background:#eeede6}.coffee-heading h2{margin:0 0 10px}.coffee-heading p{margin:0}.prize-nav a{font-size:14px}
.intro{display:block;padding-block:64px}.catalog{padding-bottom:64px}.catalog h2{font-size:clamp(25px,4vw,38px);line-height:1.5;margin:0 0 26px}
.prize-nav{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.prize-nav a{border:1px solid #4d2e2855;padding:10px 18px;color:#4d2e28;text-decoration:none;background:white}
.provider{background:white;border:1px solid #d6cfc1;margin-bottom:48px;scroll-margin-top:20px}.provider-heading{padding:30px 36px;border-bottom:1px solid #d6cfc1}
.provider-heading h2{margin:5px 0}.prize-block{padding:36px;display:grid;grid-template-columns:minmax(0,1fr);gap:30px;border-bottom:1px solid #d6cfc1}
.prize-block.with-photo{grid-template-columns:240px minmax(0,1fr)}.product-image{margin:0;background:white;display:flex;align-items:center;justify-content:center}.product-image img{width:100%;height:320px;object-fit:contain}
.prize-block h3{font-size:clamp(23px,3vw,30px);line-height:1.5;margin:8px 0 18px}.prize-copy{font-size:16px;margin-bottom:24px}
.prize-block dl,.partner dl{margin:0;font-size:15px}.prize-block dl>div,.partner dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;border-top:1px solid #d6cfc1;padding:12px 0}dt{color:#706a62}dd{margin:0}
.partner{padding:36px;background:#eeede6}.partner h3{font-size:25px;margin:5px 0 20px}.partner p{line-height:2}.partner-logo{width:210px;max-width:100%;height:auto;background:white;padding:8px;margin-bottom:16px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.gallery figure{margin:0}.gallery img{display:block;width:100%;height:auto}.gallery figcaption{font-size:12px;color:#706a62;margin-top:6px}
.partner a{color:#315e39;text-underline-offset:4px}.photo-note{font-size:12px;color:#706a62}.review-note{background:#fff4dc;border:1px solid #d8b46b;padding:24px 30px;margin:0 0 32px}.review-note h2,.review-note h3{font-size:21px;margin:0 0 15px}.review-note li{margin-bottom:14px;line-height:1.9}.review-note ul{padding-left:22px}.application{border-top:1px solid #bbb1a0;padding:36px 0}.application h2{font-size:24px}.application p{max-width:780px}
@media(max-width:650px){.provider-heading,.prize-block,.partner{padding:24px 20px}.prize-block.with-photo{grid-template-columns:1fr}.product-image img{height:230px}.gallery{grid-template-columns:1fr}.gallery img{max-height:420px;object-fit:contain;background:white}.review-note{padding:20px}.prize-block dl>div,.partner dl>div{grid-template-columns:78px minmax(0,1fr);gap:12px}.intro{padding-block:40px}}
@media(max-width:650px){.prize-heading{gap:16px;align-items:flex-start;padding-bottom:20px}.prize-number{flex-basis:72px;min-height:86px}.prize-number strong{font-size:42px}.prize-number span{font-size:12px}.prize-block .prize-heading h3{font-size:21px}.prize-heading .kicker{font-size:11px;letter-spacing:.06em}}
@media print{.hero{min-height:0!important}.hero--brand .hero__content{padding-block:20px;grid-template-columns:90px 1fr;gap:30px}.hero__logo-frame{width:90px;padding:10px;border:2px solid}.hero--brand h1{font-size:26px}.provider{break-before:page}.review-bar{position:static}.prize-nav{display:none}.gallery{grid-template-columns:repeat(3,1fr)}.provider-heading,.partner,.prize-block{padding:20px}}
