.closing-section { padding: 32px 16px; color: #363636; font-family: 'Noto Sans JP', sans-serif; }
.closing-section *, .closing-cta *, .closing-footer * { box-sizing: border-box; }
.closing-section p, .closing-section h2, .closing-section h3, .closing-cta p, .closing-footer p { margin: 0; }
.closing-heading { text-align: center; position: relative; }
.closing-heading__eyebrow { color: #ec8fa5; font: 500 22px/1.5 'Outfit', sans-serif; letter-spacing: 1.1px; }
.closing-heading h2 { font-size: 26px; line-height: 1.5; font-weight: 700; }
.closing-heading--white, .closing-heading--white .closing-heading__eyebrow { color: #fff; }
.closing-button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 16px 10px; min-height: 59px; border: 0; border-radius: 999px; background: #ec8fa5; color: #fff; font: 700 18px/1.5 'Noto Sans JP', sans-serif; text-decoration: none; text-align: center; gap: 10px; }
.closing-button--outline { background: transparent; color: #ec8fa5; border: 2px solid #ec8fa5; padding-block: 18px; }
.closing-button__arrow { width: 14px; height: auto; }
.closing-button[aria-disabled], .closing-lineup__detail[aria-disabled], .closing-footer a[aria-disabled] { cursor: default; }
.closing-purchase { background: #f6e7d9; }
.closing-purchase__cards { display: grid; gap: 14px; margin-top: 24px; }
.closing-purchase__card { padding: 20px; border-radius: 4px; background: #fff; text-align: center; }
.closing-purchase__card h3 { font-size: 20px; font-weight: 700; line-height: 1.5; }
.closing-purchase__date { font-size: 14px; line-height: 1.5; font-weight: 500; color: #8f8f8f; margin-top: 3px !important; }
.closing-purchase__note { color: #8f8f8f; font-size: 10px; line-height: 1; text-align: right; margin-top: 3px !important; }
.closing-purchase__card .closing-button { margin-top: 16px; }
.closing-stores { background: #fff; padding: 24px 12px 12px; border-radius: 4px; scroll-margin-top: 20px; }
.closing-stores__header { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.closing-stores__header h3 { font-size: 18px; font-weight: 700; line-height: 1.2; }
.closing-stores__header small { font-size: 10px; color: #8f8f8f; white-space: nowrap; }
.closing-stores__help { color: #8f8f8f; font-size: 11px; line-height: 1.6; margin-top: 8px !important; margin-bottom: 10px !important; }
.closing-stores__help--foot { margin: 10px 0 0 !important; }
.closing-stores__region { border-bottom: 1px solid rgba(0,0,0,.1); }
.closing-stores summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.closing-stores summary::-webkit-details-marker, .closing-faq summary::-webkit-details-marker { display: none; }
.closing-stores__region > summary { padding: 9px 2px; font-size: 15px; font-weight: 500; line-height: 19.2px; }
.closing-stores summary > span::before { content: '＋'; font-size: 12px; font-weight: 400; }
.closing-stores details[open] > summary > span::before { content: '−'; }
.closing-stores__prefecture { margin-inline: 9px; border-top: 1px solid rgba(0,0,0,.07); }
.closing-stores__prefecture > summary { font-size: 14px; line-height: 19.2px; padding: 9px 2px; }
.closing-stores__list { font-size: 13px; line-height: 1.6; padding: 0 2px 12px; color: #666; overflow-wrap: anywhere; }
.closing-voice { background: #ec8fa5; position: relative; overflow: hidden; }
.closing-voice__pattern { position: absolute; inset: 0 0 auto; width: 100%; height: auto; pointer-events: none; }
.closing-voice__cards { display: flex; flex-direction: column; align-items: center; gap: 16px; position: relative; margin-top: 32px; }
.closing-voice__card { background: #fff; border-radius: 4px; padding: 20px; width: 100%; min-height: 254px; }
.closing-voice__card--pending { display: grid; place-items: center; }
.closing-voice__pending { font-size: 20px; color: #8f8f8f; }
.closing-voice__profile { display: flex; gap: 16px; align-items: center; }
.closing-voice__profile img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.closing-voice__demographic { color: #ec8fa5; font-size: 14px; letter-spacing: .7px; line-height: 1.5; margin-bottom: 4px !important; }
.closing-voice__profile h3 { font-size: 20px; font-weight: 700; line-height: 1.4; }
.closing-voice__body { margin-top: 10px !important; font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.closing-voice__tag { padding: 8px 14px; border-radius: 54px; background: #f6e7d9; font-size: 12px; font-weight: 700; line-height: 1.5; }
.closing-lineup { background: #f6e7d9; overflow: hidden; }
.closing-lineup__lead { font-size: 14px; color: #8f8f8f; font-weight: 500; line-height: 1.5; margin-top: 12px !important; }
.closing-lineup__track { display: flex; gap: 13px; width: calc(100% + 16px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-right: 16px; margin-top: 24px; }
.closing-lineup__track::-webkit-scrollbar { display: none; }
.closing-lineup__card { padding: 15px; flex: 0 0 288px; min-width: 0; border-radius: 4px; background: #fff; scroll-snap-align: start; }
.closing-lineup__image { display: block; width: 258px; height: 225.45px; object-fit: cover; border-radius: 4px; }
.closing-lineup__content { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.closing-lineup__name { font: 500 18px/1.2 'Outfit', sans-serif; letter-spacing: .9px; color: #ec8fa5; }
.closing-lineup__scent { font-size: 11px; font-weight: 500; line-height: 1.5; color: #8f8f8f; margin-top: 3px !important; white-space: nowrap; }
.closing-lineup__description { font-size: 15px; font-weight: 500; line-height: 1.5; white-space: nowrap; letter-spacing: -.3px; }
.closing-lineup__price { display: flex; align-items: baseline; justify-content: flex-end; font-size: 14px; font-weight: 700; line-height: 1.5; margin-top: 2px !important; }
.closing-lineup__price strong { font: 600 24px/1.5 'Outfit', sans-serif; }
.closing-lineup__price small { font-size: 10px; font-weight: 600; }
.closing-lineup__detail { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 12px; font-weight: 500; line-height: 1.5; color: #8f8f8f; text-decoration: none; }
.closing-lineup__detail img { width: 7px; height: 11px; }
.closing-lineup__pagination { display: flex; justify-content: center; gap: 3px; margin-top: 8px; margin-bottom: 16px; height: 22px; }
.closing-lineup__dot { display: grid; place-items: center; padding: 8px 4px; width: 14px; height: 22px; background: none; border: none; cursor: pointer; }
.closing-lineup__dot::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #ec8fa5; opacity: .25; }
.closing-lineup__dot--active::before { opacity: 1; }
.closing-faq { background: #fff; }
.closing-faq__list { margin-top: 30px; }
.closing-faq__item { border-bottom: 1px solid rgba(0,0,0,.1); }
.closing-faq summary { list-style: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 2px; cursor: pointer; font-size: 15px; font-weight: 500; line-height: 19.2px; }
.closing-faq__toggle { flex-shrink: 0; font-size: 12px; font-weight: 400; }
.closing-faq__toggle::before { content: '＋'; }
.closing-faq__item[open] .closing-faq__toggle::before { content: '−'; }
.closing-faq__answer { padding: 0 2px 14px; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.closing-cta { width: 100%; aspect-ratio: 390/289; position: relative; overflow: hidden; background: #eef1f5; }
.closing-cta__background, .closing-cta__package { position: absolute; left: -.513%; top: -3.114%; width: 68.974%; height: 78.201%; object-fit: contain; }
.closing-cta::before { content: ''; position: absolute; z-index: 1; left: 57.436%; top: 0; width: 42.565%; height: 71.973%; background: linear-gradient(90deg, transparent, #eef1f5 8.108%); }
.closing-cta::after { content: ''; position: absolute; z-index: 1; left: 0; top: 63.668%; width: 100%; height: 38.408%; background: linear-gradient(transparent, #eef1f5 8.108%); }
.closing-cta__apple { position: absolute; z-index: 4; left: 88.037%; top: 8.304%; width: 9.744%; height: auto; }
.closing-cta__vanilla { position: absolute; z-index: 5; left: 81.282%; top: 9.18%; width: 17.972%; height: auto; }
.closing-cta__wordmark { position: absolute; z-index: 3; left: 45.385%; top: 33.218%; width: 50%; height: auto; }
.closing-cta__scent { position: absolute; z-index: 2; left: 23.846%; top: 11.765%; width: 72.051%; padding: 6px 10px 6px 100px; min-height: 46px; background: #fff; color: #ec8fa5; border-radius: 9px; font: 700 12px/1.4 'Noto Sans JP', sans-serif; white-space: nowrap; }
.closing-cta__button { position: absolute; z-index: 3; left: 4.103%; top: 72.664%; width: 91.795%; }
.closing-footer { background: #363636; color: #fff; padding: 24px 12px; text-align: center; font-family: 'Noto Sans JP', sans-serif; }
.closing-footer__social { display: flex; gap: 26px; align-items: center; justify-content: center; }
.closing-footer__social a { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; }
.closing-footer__social img { display: block; width: 28px; height: 28px; object-fit: contain; }
.closing-footer__company { margin-top: 19px !important; font-size: 11px; line-height: 17.6px; }
.closing-footer__company a { color: inherit; text-decoration: none; }
@container (max-width: 359px) {
    .closing-heading h2 { font-size: 23px; }
    .closing-stores__header h3 { font-size: 15px; }
    .closing-purchase__card h3 { font-size: 17px; }
    .closing-button { font-size: 16px; }
    .closing-cta__scent { font-size: 10px; padding-left: 75px; min-height: 38px; }
    .closing-cta__button { min-height: 48px; padding-block: 10px; }
}
@media print {
    .closing-lineup__track { display: grid; overflow: visible; width: 100%; }
    .closing-lineup__card { width: 288px; }
    .closing-lineup__pagination { display: none; }
}

.closing-cta__package { z-index: 3; }
