
#stamp-rally-guide *{box-sizing: border-box;}
#stamp-rally-guide{color-scheme: light;}
#stamp-rally-guide{margin: 0px; background: rgb(255, 255, 255); color: rgb(6, 27, 73); font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; font-weight: 800; -webkit-font-smoothing: antialiased;}
#stamp-rally-guide.guide{max-width: 1100px; margin: auto; padding: 27px 40px 24px;}
#stamp-rally-guide .intro{text-align: center; margin-bottom: 24px;}
#stamp-rally-guide .intro h1{font-size: clamp(24px, 5.3vw, 57px); letter-spacing: -0.045em; line-height: 1.45; margin: 0px; white-space: nowrap;}
#stamp-rally-guide .intro > p{color: rgb(41, 23, 12); font-size: clamp(20px, 3.5vw, 39px); margin: 2px 0px 0px; line-height: 1.65;}
#stamp-rally-guide .five{font-size: 1.55em; color: rgb(240, 33, 24); vertical-align: -0.04em; padding: 0px 3px;}
#stamp-rally-guide .intro > p::before,#stamp-rally-guide .intro > p::after{content: ""; display: inline-block; width: 22px; height: 30px; border-left: 3px solid rgb(237, 101, 30); transform: rotate(-37deg); margin-right: 25px;}
#stamp-rally-guide .intro > p::after{transform: rotate(37deg); margin-left: 25px; margin-right: 0px; border-left: 0px; border-right: 3px solid rgb(237, 101, 30);}
#stamp-rally-guide .steps{padding: 0px; margin: 0px; list-style: none;}
#stamp-rally-guide .step{--accent: #f02422; --tint: #fff9f8; position: relative; display: flex; align-items: center; gap: 22px; min-height: 196px; padding: 12px 16px 12px 22px; border: 1.5px solid var(--accent); border-radius: 18px; background: var(--tint); margin-bottom: 42px;}
#stamp-rally-guide .step:not(:last-child)::after{content: ""; position: absolute; top: calc(100% + 6px); left: calc(50% - 22px); width: 44px; height: 37px; background: rgb(6, 27, 73); clip-path: polygon(25% 0px, 75% 0px, 75% 48%, 100% 48%, 50% 100%, 0px 48%, 25% 48%);}
#stamp-rally-guide .number{background: linear-gradient(130deg,color-mix(in srgb,var(--accent),white 12%),var(--accent)); border: 1px solid color-mix(in srgb,var(--accent),black 10%); color: white; display: flex; align-items: center; justify-content: center; border-radius: 50%; width: 87px; height: 87px; flex: 0 0 87px; font-size: 70px; font-weight: 500; line-height: 1;}
#stamp-rally-guide .copy{flex: 1 1 0%; position: relative; z-index: 1;}
#stamp-rally-guide h2{font-size: 42px; letter-spacing: 0.035em; line-height: 1.4; margin: 0px; font-weight: 900;}
#stamp-rally-guide .art{display: block; flex-shrink: 0; max-width: 100%; mix-blend-mode: multiply;}
#stamp-rally-guide .shop{width: 31%;}
#stamp-rally-guide .qr{margin: 0px; border: 1.5px solid var(--accent); border-radius: 6px; overflow: hidden; width: 151px; flex-shrink: 0; background: white;}
#stamp-rally-guide .qr figcaption{color: white; background: var(--accent); font-size: 19px; text-align: center; white-space: nowrap; line-height: 1.65;}
#stamp-rally-guide .qr svg{display: block; width: 100%; height: auto; padding: 7px;}
#stamp-rally-guide .line{--accent: #489b1e; --tint: #f8faf6;}
#stamp-rally-guide .line-phone{width: 20%;}
#stamp-rally-guide .line h2{white-space: nowrap;}
#stamp-rally-guide .line .qr{width: 146px;}
#stamp-rally-guide .collect{--accent: #2378bc; --tint: #f5f9fd; min-height: 221px; gap: 18px; align-items: flex-start; padding-top: 24px; padding-bottom: 25px;}
#stamp-rally-guide .collect .number{width: 74px; height: 74px; flex-basis: 74px; font-size: 60px;}
#stamp-rally-guide .collect h2{font-size: 34px;}
#stamp-rally-guide .instruction{font-size: 27px; line-height: 1.55; margin: 4px 0px 25px; white-space: nowrap;}
#stamp-rally-guide .note{display: inline-block; font-size: 17px; color: rgb(20, 20, 20); border: 1px solid rgb(220, 149, 28); background: rgb(255, 248, 228); border-radius: 5px; margin: 0px; padding: 7px 10px; white-space: nowrap;}
#stamp-rally-guide .journey{position: absolute; right: 10px; bottom: 0px; width: 47%;}
#stamp-rally-guide .certificate{--accent: #8150a5; --tint: #f9f6fb; min-height: 172px; gap: 23px;}
#stamp-rally-guide .certificate h2{font-size: 34px; white-space: nowrap;}
#stamp-rally-guide .pill{display: inline-block; border-radius: 99px; background: rgb(140, 87, 178); color: white; font-size: 26px; padding: 3px 20px; margin: 8px 0px 0px; white-space: nowrap;}
#stamp-rally-guide .award{width: 40%;}
#stamp-rally-guide .complete{--accent: #16a4b7; --tint: #f3fafb; min-height: 195px; gap: 20px; margin-bottom: 20px;}
#stamp-rally-guide .complete h2{font-size: 25px; white-space: nowrap; letter-spacing: 0px;}
#stamp-rally-guide .complete .number{width: 80px; height: 80px; flex-basis: 80px; font-size: 64px; align-self: flex-start; margin-top: 9px;}
#stamp-rally-guide .complete ul{list-style: none; padding: 0px; margin: 12px 0px 0px; color: rgb(24, 24, 24); font-size: 18px; line-height: 1.9;}
#stamp-rally-guide .complete li::before{content: ""; width: 14px; height: 14px; display: inline-block; background: var(--accent); border-radius: 50%; margin-right: 9px;}
#stamp-rally-guide .complete-award{width: 29%;}
#stamp-rally-guide .complete .qr{width: 119px;}
#stamp-rally-guide .nowrap{white-space: nowrap;}
#stamp-rally-guide .prize{display: flex; align-items: center; gap: 40px; border: 1.5px solid rgb(223, 153, 27); border-radius: 17px; padding: 10px 18px; background: rgb(255, 251, 241); color: rgb(39, 24, 14);}
#stamp-rally-guide .prize .gift{width: 150px; flex-shrink: 0; mix-blend-mode: multiply;}
#stamp-rally-guide .prize p{font-size: 27px; line-height: 1.7; margin: 0px; letter-spacing: -0.035em;}
#stamp-rally-guide .months{font-size: 39px;}
#stamp-rally-guide .red{font-size: 1.14em; color: rgb(240, 34, 26);}
#stamp-rally-guide .sr-only{position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; clip: rect(0px, 0px, 0px, 0px) !important; white-space: nowrap !important; padding: 0px !important; border: 0px !important;}
@media (min-width: 761px) and (max-width: 1050px){#stamp-rally-guide.guide{padding: 25px 32px;}
#stamp-rally-guide .step{gap: 15px;}
#stamp-rally-guide .number{width: 78px; height: 78px; flex-basis: 78px; font-size: 63px;}
#stamp-rally-guide h2{font-size: 36px;}
#stamp-rally-guide .qr{width: 140px;}
#stamp-rally-guide .certificate h2{font-size: 30px;}
#stamp-rally-guide .pill{font-size: 23px;}
#stamp-rally-guide .complete h2{font-size: 22px;}
#stamp-rally-guide .complete ul{font-size: 16px;}
#stamp-rally-guide .complete .qr{width: 112px;}
#stamp-rally-guide .prize{gap: 30px;}
#stamp-rally-guide .prize p{font-size: 24px;}
#stamp-rally-guide .instruction{font-size: 25px;}
#stamp-rally-guide .note{font-size: 15px;}}
@media (max-width: 760px){#stamp-rally-guide.guide{padding: 25px 16px 20px; max-width: 540px;}
#stamp-rally-guide .intro{margin-bottom: 23px;}
#stamp-rally-guide .intro h1{font-size: clamp(22px, 6.6vw, 35px); white-space: normal; line-height: 1.45; text-wrap-style: balance; letter-spacing: -0.04em;}
#stamp-rally-guide .intro > p{font-size: clamp(15px, 4.05vw, 22px); margin-top: 8px;}
#stamp-rally-guide .intro > p::before,#stamp-rally-guide .intro > p::after{display: none;}
#stamp-rally-guide .step{display: grid; grid-template-columns: 54px 1fr; gap: 12px; min-height: 0px; padding: 20px 16px; border-radius: 15px; margin-bottom: 37px; align-items: center;}
#stamp-rally-guide .number,#stamp-rally-guide .collect .number,#stamp-rally-guide .complete .number{width: 54px; height: 54px; flex-basis: 54px; font-size: 43px; align-self: center; margin: 0px;}
#stamp-rally-guide .copy{min-width: 0px;}
#stamp-rally-guide h2,#stamp-rally-guide .line h2,#stamp-rally-guide .collect h2,#stamp-rally-guide .certificate h2,#stamp-rally-guide .complete h2{font-size: clamp(21px, 5.5vw, 28px); white-space: normal; letter-spacing: 0px; line-height: 1.45;}
#stamp-rally-guide .shop{grid-area: 2 / 1 / auto / 3; width: 61%; margin-top: 7px;}
#stamp-rally-guide .qr,#stamp-rally-guide .line .qr,#stamp-rally-guide .complete .qr{grid-area: 2 / 2; justify-self: end; width: 116px; z-index: 1;}
#stamp-rally-guide .qr figcaption{font-size: 15px;}
#stamp-rally-guide .line-phone{grid-area: 2 / 1 / auto / 3; width: 44%; margin-left: 20px;}
#stamp-rally-guide .line .qr{width: 124px; margin-right: 8px;}
#stamp-rally-guide .collect{padding-top: 20px;}
#stamp-rally-guide .collect .copy{grid-column: 2;}
#stamp-rally-guide .instruction{font-size: 19px; white-space: normal; margin: 4px 0px 12px;}
#stamp-rally-guide .note{white-space: normal; font-size: 13px; padding: 6px 8px; line-height: 1.6;}
#stamp-rally-guide .journey{position: static; grid-column: 1 / 3; width: 100%; max-width: 410px; justify-self: center; margin-bottom: -20px;}
#stamp-rally-guide .certificate .copy{grid-column: 2;}
#stamp-rally-guide .pill{font-size: 17px; padding: 4px 10px; white-space: normal; margin-top: 10px;}
#stamp-rally-guide .award{grid-column: 1 / 3; width: 95%; justify-self: center;}
#stamp-rally-guide .complete .copy{grid-column: 2;}
#stamp-rally-guide .complete h2{font-size: 21px;}
#stamp-rally-guide .complete ul{font-size: 15px; line-height: 1.8; margin-left: -1px;}
#stamp-rally-guide .complete li{padding-left: 16px; position: relative; margin: 5px 0px;}
#stamp-rally-guide .complete li::before{position: absolute; left: 0px; top: 8px; width: 9px; height: 9px; margin: 0px;}
#stamp-rally-guide .complete-award{grid-area: 2 / 1 / auto / 3; width: 61%; align-self: center;}
#stamp-rally-guide .complete .qr{width: 106px;}
#stamp-rally-guide .complete{margin-bottom: 18px;}
#stamp-rally-guide .prize{gap: 12px; padding: 17px 12px; border-radius: 15px;}
#stamp-rally-guide .prize .gift{width: 70px;}
#stamp-rally-guide .prize p{font-size: 17px; line-height: 1.7;}
#stamp-rally-guide .months{font-size: 24px;}
#stamp-rally-guide .step:not(:last-child)::after{top: calc(100% + 5px); height: 28px; width: 34px; left: calc(50% - 17px);}}
@media print{#stamp-rally-guide.guide{max-width: 1024px; padding: 20px;}
#stamp-rally-guide .step,#stamp-rally-guide .prize{break-inside: avoid;}
#stamp-rally-guide{print-color-adjust: exact;}}
@media (min-width: 761px){#stamp-rally-guide .collect{min-height: 240px;}}
#stamp-rally-guide{box-sizing:border-box}#stamp-rally-guide h1,#stamp-rally-guide h2{font-family:inherit}#stamp-rally-guide h1{font-weight:800}#stamp-rally-guide strong{font-weight:900}
#stamp-rally-guide .intro h1{white-space:normal;font-size:clamp(22px,4vw,44px);text-wrap:balance}
#stamp-rally-guide{line-height:normal;letter-spacing:normal}
#stamp-rally-guide img{height:auto;object-fit:contain}#stamp-rally-guide .qr-placeholder{display:block;width:100%;aspect-ratio:1;background:#fff}#stamp-rally-guide .terms-link{text-align:center;margin:0 0 28px}#stamp-rally-guide .terms-link a{display:inline-flex;gap:14px;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;border-radius:999px;background:#061b49;color:#fff;font-size:18px;font-weight:700;text-decoration:none;line-height:1.5}#stamp-rally-guide .terms-link a:hover{background:#173b72}#stamp-rally-guide .terms-link a:focus-visible{outline:3px solid #df991b;outline-offset:4px}#stamp-rally-guide .terms-link p{margin:7px 0 0;font-size:12px;line-height:1.5;font-weight:400;color:#59616e}
#stamp-rally-guide .line-registration{display:flex;flex-direction:column;align-items:center;gap:8px;width:180px;flex:0 0 180px;padding:8px 0}
#stamp-rally-guide .line-registration .line-or{margin:0;font-size:14px;font-weight:700;line-height:1.5;color:#52604b}
#stamp-rally-guide .line-registration .qr{width:160px;margin:0;grid-area:auto;align-self:center}
#stamp-rally-guide .line-registration .qr img{display:block;width:100%;height:auto}
@media(max-width:760px){#stamp-rally-guide .line-registration{grid-area:2 / 1 / auto / 3;justify-self:end;width:160px;max-width:100%;padding:4px 0}#stamp-rally-guide .line-registration .qr{width:150px}#stamp-rally-guide .line-phone{width:36%;margin-left:0}}

/* Readable controls, registration and mailing address */
html{scroll-behavior:smooth}#stamp-rally-guide,#stamp-rally-guide [id]{scroll-margin-top:60px}
#stamp-rally-guide .guide-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:12px 22px;background:#061b49;border:2px solid #061b49;border-radius:12px;color:white;font-size:19px;font-weight:800;text-decoration:none;line-height:1.5;text-align:center}
#stamp-rally-guide .guide-button:hover{background:#244776;border-color:#244776}
#stamp-rally-guide a:focus-visible,#stamp-rally-guide summary:focus-visible{outline:3px solid #df991b;outline-offset:5px}
#stamp-rally-guide .shop-jump{margin-top:18px}
#stamp-rally-guide .purchase .shop{margin-left:auto}
#stamp-rally-guide .line .copy{min-width:0}
#stamp-rally-guide .line .line-registration{display:block;width:240px;height:60px;margin:20px 0 0;padding:0;max-width:none}
#stamp-rally-guide .line-registration .line-it-button{transform:scale(2.8);transform-origin:top left}
#stamp-rally-guide .line-phone{width:22%;margin-left:auto}
#stamp-rally-guide .complete{display:grid;grid-template-columns:80px minmax(0,1fr) 29%;gap:18px 20px;padding:24px}
#stamp-rally-guide .complete .number{grid-column:1;grid-row:1}
#stamp-rally-guide .complete .copy{grid-column:2;grid-row:1}
#stamp-rally-guide .complete .complete-award{grid-column:3;grid-row:1;width:100%}
#stamp-rally-guide .complete h2{white-space:normal}
#stamp-rally-guide .mailing-address{grid-column:2 / -1;background:#fff;border:2px solid #148395;border-radius:12px;padding:20px 24px;color:#162c3c}
#stamp-rally-guide .mailing-address h3{font-family:inherit;font-size:23px;font-weight:800;margin:0 0 10px;color:#116775}
#stamp-rally-guide .mailing-address address{font-style:normal;font-size:20px;line-height:1.9;font-weight:500;overflow-wrap:anywhere}
#stamp-rally-guide .mailing-address .project-name{display:block;margin-top:6px}
#stamp-rally-guide .mailing-address p{font-size:16px;font-weight:500;margin:12px 0 0;line-height:1.7}
/* The purchase list shows confirmed sellers first; blank source cells stay unknown. */
#stamp-rally-guide .shop-directory{margin-top:56px;padding-top:36px;border-top:3px solid #e5eaf1;line-height:1.7}
#stamp-rally-guide .section-kicker{color:#99520b;font-size:18px;margin:0 0 6px}
#stamp-rally-guide .shop-directory h2{font-size:32px;letter-spacing:0;line-height:1.5}
#stamp-rally-guide .directory-intro{font-size:19px;font-weight:500;margin:14px 0 20px}
#stamp-rally-guide .prefecture-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
#stamp-rally-guide .prefecture-nav a{flex:1;min-width:120px}
#stamp-rally-guide .directory-note{font-size:16px;font-weight:500;color:#46566a;line-height:1.8;margin:16px 0 24px}
#stamp-rally-guide .prefecture{margin:32px 0}
#stamp-rally-guide .prefecture h3{font-family:inherit;font-size:26px;line-height:1.5;margin:0 0 16px;padding:10px 0;border-bottom:2px solid #d8e0e9;font-weight:800}
#stamp-rally-guide .prefecture h3>span{font-size:17px;font-weight:500;margin-left:12px}
#stamp-rally-guide .facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;list-style:none;padding:0;margin:0}
#stamp-rally-guide .facility-card{border:1px solid #cfdbe1;border-radius:12px;padding:20px;background:#fff;min-width:0}
#stamp-rally-guide .facility-meta{font-size:16px;margin:0 0 6px;color:#48586b;font-weight:700}
#stamp-rally-guide .facility-meta span{font-weight:500}
#stamp-rally-guide .facility-card h4{font-family:inherit;font-size:21px;line-height:1.6;font-weight:800;margin:0;overflow-wrap:anywhere}
#stamp-rally-guide .sale-badge{display:inline-block;font-size:17px;padding:5px 12px;border-radius:6px;margin:12px 0;font-weight:800;line-height:1.6}
#stamp-rally-guide .sale-badge.available{background:#e6f4eb;color:#155b35;border:1px solid #8abfa0}

#stamp-rally-guide .facility-facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:15px;color:#526071;font-weight:400;line-height:1.8}
#stamp-rally-guide .facility-facts strong{font-weight:500;color:#263b51}




#stamp-rally-guide .back-to-steps{background:white;color:#061b49}
#stamp-rally-guide .back-to-steps:hover{background:#eaf0f8}
@media(max-width:760px){
#stamp-rally-guide .purchase .copy{grid-column:2}
#stamp-rally-guide .purchase .shop{width:65%;justify-self:end;max-width:240px;margin:0}
#stamp-rally-guide .guide-button{font-size:18px;gap:10px;padding:12px 16px}
#stamp-rally-guide .line .copy{display:contents}
#stamp-rally-guide .line .copy h2{grid-area:1 / 2}
#stamp-rally-guide .line .line-registration{grid-area:2 / 1 / auto / 3;justify-self:start;align-self:center;width:230px;height:60px;margin:14px 0}
#stamp-rally-guide .line .line-phone{grid-area:2 / 2;justify-self:end;width:27%;min-width:66px;max-width:110px;margin:0;align-self:center}
#stamp-rally-guide .line-registration .line-it-button{transform:scale(2.6)}
#stamp-rally-guide .complete{grid-template-columns:54px minmax(0,1fr);gap:16px 12px;padding:20px 16px}
#stamp-rally-guide .complete .complete-award{grid-column:1 / -1;grid-row:2;width:72%;max-width:280px;justify-self:center}
#stamp-rally-guide .mailing-address{grid-column:1 / -1;padding:16px}
#stamp-rally-guide .mailing-address address{font-size:18px;line-height:1.9}
#stamp-rally-guide .mailing-address h3{font-size:22px}
#stamp-rally-guide .shop-directory{margin-top:36px;padding-top:28px}
#stamp-rally-guide .shop-directory h2{font-size:27px}
#stamp-rally-guide .facility-grid{grid-template-columns:1fr}
#stamp-rally-guide .facility-card{padding:18px}
#stamp-rally-guide .prefecture-nav{gap:8px}
#stamp-rally-guide .prefecture-nav a{min-width:0;padding:12px 8px;font-size:18px;gap:6px}


}
@media(max-width:360px){#stamp-rally-guide .line-registration .line-it-button{transform:scale(2.25)}#stamp-rally-guide .line .line-registration{width:200px;height:52px}#stamp-rally-guide .line .line-phone{min-width:54px;width:24%}#stamp-rally-guide .prefecture-nav a{font-size:16px;padding:12px 6px;gap:3px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Touring accents remain decorative; all content is visible before JavaScript. */
#stamp-rally-guide .rally-brand{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:22px;letter-spacing:.015em;margin-bottom:18px;color:#142f48}
#stamp-rally-guide .rally-brand span{font-size:11px;letter-spacing:.16em;background:#142f48;color:#fff;padding:6px 10px;border-radius:4px;line-height:1.4}













#stamp-rally-guide .facility-card{display:flex;flex-direction:column;box-shadow:0 3px 12px #17304705}
#stamp-rally-guide .facility-card .sale-badge{align-self:flex-start}
#stamp-rally-guide .facility-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:20px}
#stamp-rally-guide .facility-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid #93a6b7;border-radius:8px;background:#f4f7fa;color:#173247;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
#stamp-rally-guide .facility-link:hover{background:#e5edf3;border-color:#173247;text-decoration:underline;text-underline-offset:4px}
#stamp-rally-guide .instagram-link{color:#202020;background:#fff;border-color:#a5a5a5}
#stamp-rally-guide .instagram-glyph{display:block;flex:0 0 24px;width:24px;height:24px;margin:0 3px}
#stamp-rally-guide a:focus-visible,#stamp-rally-guide button:focus-visible,#stamp-rally-guide summary:focus-visible{outline:3px solid #ad4c00;outline-offset:4px}
@media(max-width:760px){#stamp-rally-guide .rally-brand{font-size:19px;gap:8px;margin-bottom:14px}#stamp-rally-guide .rally-brand span{font-size:9px}#stamp-rally-guide .facility-link{flex:1 1 auto;padding:11px 12px}#stamp-rally-guide .facility-links{gap:10px}}
@media(prefers-reduced-motion:reduce){}


/* All facilities share the same listing. Selling status has text and color cues. */
#stamp-rally-guide .facility-card.sells-booklet{border:2px solid #8abfa0;}
#stamp-rally-guide .sale-badge.not-sold{padding:0;border:0;background:none;color:#58616a;font-size:14px;line-height:1.7;font-weight:500;margin:10px 0 12px}
#stamp-rally-guide .sales-legend{color:#155b35}
#stamp-rally-guide .rally-poster{margin:24px auto 0;max-width:800px}
#stamp-rally-guide .rally-poster img{display:block;width:100%;height:auto;border-radius:14px}
#stamp-rally-guide .prize .prize-dates{display:inline-block;font-size:18px;line-height:1.8;letter-spacing:0;font-weight:600}
@media(max-width:760px){#stamp-rally-guide .rally-poster{margin-top:18px}#stamp-rally-guide .rally-poster img{border-radius:10px}}
#stamp-rally-guide .anchor-visible,#stamp-rally-guide .anchor-visible .fade-section{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){#stamp-rally-guide .fade-section{opacity:1!important;transform:none!important}}

/* A warm, quiet backdrop applies only to the stamp rally page. */
body:has(#stamp-rally-guide),body:has(#stamp-rally-guide) .wp-site-blocks{background:#f5f3ed}
#stamp-rally-guide{background:linear-gradient(180deg,#f8f6f0 0%,#f2f5f3 100%)}
#stamp-rally-guide .status-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}
#stamp-rally-guide .status-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid;border-radius:6px;padding:6px 12px;font-size:17px;line-height:1.6;font-weight:800;white-space:nowrap}
#stamp-rally-guide .status-sale{background:#e6f4eb;color:#155b35;border-color:#8abfa0}
#stamp-rally-guide .status-stamp{background:#e7f1fc;color:#174e85;border-color:#8caed4}
#stamp-rally-guide .status-route{background:#fff0da;color:#814300;border-color:#d5ab68}
#stamp-rally-guide .status-badges+.not-sold{margin-top:0}
#stamp-rally-guide .prefecture h3{border-bottom-color:#cbd6cf}
#stamp-rally-guide .shop-directory{border-top-color:#d7dfd8}
@media(max-width:760px){#stamp-rally-guide .status-badge{font-size:16px;padding:6px 10px}#stamp-rally-guide .status-badges{gap:8px}}


/* Facility locations: readable addresses and large map targets. */
#stamp-rally-guide .facility-address{font-style:normal;font-size:16px;line-height:1.8;color:#253c49;margin:18px 0 0;overflow-wrap:anywhere}
#stamp-rally-guide .facility-location-note{font-size:14px;line-height:1.7;color:#4e626b;margin:5px 0 0}
#stamp-rally-guide .facility-links{align-items:stretch}
#stamp-rally-guide .facility-link.map-link{background:#eaf2f8;border:1px solid #aac4da;color:#164d72;font-weight:800;min-height:48px;justify-content:center}
#stamp-rally-guide .facility-card .map-link{flex-basis:100%}
#stamp-rally-guide .map-link svg{flex-shrink:0}
#stamp-rally-guide .facility-map-panel{background:#fff;border:1px solid #cfdbdf;border-radius:16px;padding:24px;margin:26px 0}
#stamp-rally-guide .facility-map-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#stamp-rally-guide .facility-map-heading h3{font-family:inherit;font-size:23px;line-height:1.5;margin:0;color:#173947}
#stamp-rally-guide .facility-map-help{font-size:16px;line-height:1.7;margin:12px 0}
#stamp-rally-guide .map-legend{display:flex;gap:12px 24px;flex-wrap:wrap;margin:0 0 16px;font-size:15px;font-weight:700}
#stamp-rally-guide .map-legend span{display:inline-flex;align-items:center;gap:8px}
#stamp-rally-guide .map-legend i{width:13px;height:17px;border-radius:9px 9px 9px 0;transform:rotate(-45deg);display:inline-block}
#stamp-rally-guide .pin-sale{background:#097138}
#stamp-rally-guide .pin-other{background:#01579b}
#stamp-rally-guide .facility-overview-map{display:block;width:100%;height:460px;border:0;border-radius:10px;background:#e8f0f2}
#stamp-rally-guide .facility-map-note{font-size:14px;line-height:1.8;color:#4e626b;margin:12px 0 0}
@media(max-width:600px){#stamp-rally-guide .facility-map-panel{padding:16px}#stamp-rally-guide .facility-map-heading h3{font-size:21px}#stamp-rally-guide .facility-map-heading .map-link{width:100%}#stamp-rally-guide .facility-overview-map{height:360px}}


#stamp-rally-guide .status-badge{gap:7px}
#stamp-rally-guide .status-badge .status-icon{display:block;width:22px;height:22px;flex:0 0 22px;overflow:visible}

/* Shops sharing the same facility stay inside one card. */
#stamp-rally-guide .facility-group-member{margin-top:20px;padding-top:20px;border-top:1px solid #d8e0e9}

/* Floating page-top control */
#rally-page-top{position:fixed;right:24px;right:max(24px,env(safe-area-inset-right));bottom:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#061b49;color:#fff;box-shadow:0 4px 16px rgba(6,27,73,.22);font-family:inherit;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#rally-page-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .24s ease,transform .24s ease,visibility 0s}
#rally-page-top svg{display:block;width:22px;height:22px}
#rally-page-top span{font-size:10px;font-weight:800;line-height:1;letter-spacing:.06em}
#rally-page-top:focus-visible{outline:3px solid #f09b24;outline-offset:4px}
#rally-page-top:active{background:#164079}
@media(hover:hover){#rally-page-top:hover{background:#164079;box-shadow:0 6px 20px rgba(6,27,73,.3)}}
@media(max-width:760px){#rally-page-top{right:16px;right:max(16px,env(safe-area-inset-right));bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){#rally-page-top,#rally-page-top.is-visible{transition:none;transform:none}}
@media print{#rally-page-top{display:none}}

/* Special stamp available only at the Wakasa facility. */
#stamp-rally-guide .status-exclusive-stamp{background:linear-gradient(135deg,#fff8dd,#f4dfa0);color:#634400;border-color:#b38a2e;box-shadow:0 2px 6px #8a641b26,inset 0 0 0 1px #ffffff99}

/* Official ambassador update before the facility directory. */
#stamp-rally-guide .sakura-announcement{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center;gap:32px;margin:40px 0 0;padding:28px;border:1px solid #eccbd7;border-radius:18px;background:#fff7fa;line-height:1.8}
#stamp-rally-guide .sakura-image{display:block;width:100%;max-width:300px;height:auto;margin:auto;object-fit:contain}
#stamp-rally-guide .sakura-copy{min-width:0}
#stamp-rally-guide .sakura-announcement h2{font-size:clamp(23px,3vw,30px);letter-spacing:0;line-height:1.5;margin:0 0 18px;color:#8b3155}
#stamp-rally-guide .sakura-announcement p{font-size:18px;font-weight:500;margin:0 0 16px;overflow-wrap:anywhere}
#stamp-rally-guide .sakura-announcement .sakura-follow{font-weight:800}
#stamp-rally-guide .sakura-announcement .instagram-link{max-width:100%;flex-wrap:wrap}
@media(max-width:760px){#stamp-rally-guide .sakura-announcement{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:28px;padding:22px 18px}#stamp-rally-guide .sakura-image{max-width:240px}#stamp-rally-guide .sakura-announcement p{font-size:17px}#stamp-rally-guide .sakura-announcement .instagram-link{width:100%}}

/* Booklet-holder benefits and the event-only stamp. */
#stamp-rally-guide .booklet-benefit{margin:18px 0 0;padding:14px 16px;border:1px solid #ddbb6c;border-left:5px solid #bd801c;border-radius:9px;background:#fff8e7;color:#654315;overflow-wrap:anywhere}
#stamp-rally-guide .benefit-label{margin:0 0 6px;font-size:14px;font-weight:800;line-height:1.7;color:#79520d}
#stamp-rally-guide .benefit-detail{margin:0;font-size:18px;font-weight:800;line-height:1.8}
#stamp-rally-guide .benefit-limit{font-size:14px;font-weight:600}
#stamp-rally-guide .event-stamp-note{margin:18px 0 0;padding:14px 16px;border:1px solid #d5ab68;border-radius:9px;background:#fff0da;color:#754311;font-size:16px;font-weight:600;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:760px){#stamp-rally-guide .booklet-benefit{padding:12px 14px}#stamp-rally-guide .benefit-detail{font-size:17px}#stamp-rally-guide .event-stamp-note{padding:12px 14px;font-size:15px}}

/* Facility filters */
#stamp-rally-guide [hidden]{display:none!important}
#stamp-rally-guide .rally-filters{background:#f4f7fb;border:1px solid #cfdbe1;border-radius:12px;padding:20px;margin:22px 0}
#stamp-rally-guide .rally-filters h3{font-family:inherit;font-size:22px;font-weight:800;line-height:1.5;margin:0 0 6px}
#stamp-rally-guide .filter-help,#stamp-rally-guide .filter-result,#stamp-rally-guide .benefit-policy{font-size:15px;font-weight:500;line-height:1.8;margin:8px 0}
#stamp-rally-guide .filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}
#stamp-rally-guide .filter-fields label{display:flex;flex-direction:column;gap:6px;font-size:16px;font-weight:700;min-width:0}
#stamp-rally-guide .filter-fields select{width:100%;min-height:48px;padding:10px 32px 10px 12px;border:1px solid #879bb2;border-radius:6px;background-color:#fff;color:#061b49;font-family:inherit;font-size:16px;font-weight:500;line-height:1.5}
#stamp-rally-guide .filter-fields select:focus-visible,#stamp-rally-guide .filter-reset:focus-visible{outline:3px solid #df991b;outline-offset:3px}
#stamp-rally-guide .filter-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#stamp-rally-guide .filter-reset{cursor:pointer;min-height:44px;padding:8px 16px;border:1px solid #061b49;border-radius:6px;background:#fff;color:#061b49;font-family:inherit;font-size:16px;font-weight:700}
#stamp-rally-guide .filter-empty{padding:24px;border:1px dashed #879bb2;border-radius:8px;font-size:17px;font-weight:500;line-height:1.8}
#stamp-rally-guide .benefit-policy{padding:14px 16px;background:#fff9e9;border-left:4px solid #b38a2e}
#stamp-rally-guide .benefit-usage{display:inline-block;font-size:14px;font-weight:800;line-height:1.7;border:1px solid;border-radius:5px;padding:3px 9px;margin:10px 0 0}
#stamp-rally-guide .benefit-repeat{background:#e6f4eb;color:#155b35;border-color:#8abfa0}
#stamp-rally-guide .benefit-once{background:#fff0da;color:#814300;border-color:#d5ab68}
#stamp-rally-guide .facility-group-parent{display:flex;flex-direction:column}
@media(max-width:760px){#stamp-rally-guide .filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#stamp-rally-guide .rally-filters{padding:16px}}
@media(max-width:380px){#stamp-rally-guide .filter-fields{grid-template-columns:1fr}}
@media print{#stamp-rally-guide .rally-filters,#stamp-rally-guide .filter-empty{display:none!important}#stamp-rally-guide .prefecture[hidden],#stamp-rally-guide .facility-card[hidden],#stamp-rally-guide .facility-group-member[hidden],#stamp-rally-guide .facility-group-parent[hidden]{display:block!important}}


/* Binary filters: OFF leaves the condition unrestricted. */
#stamp-rally-guide .filter-fields{gap:12px}
#stamp-rally-guide .filter-fields > label:first-child{grid-column:1 / -1;max-width:360px;width:100%}
#stamp-rally-guide .filter-fields label.filter-toggle{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 14px;border:1px solid #c6d1de;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .16s,background-color .16s}
#stamp-rally-guide .filter-toggle-label{font-size:16px;line-height:1.5}
#stamp-rally-guide .filter-fields label.filter-toggle.is-active{background:#eaf5f0;border-color:#248258;color:#155b35}
#stamp-rally-guide .filter-fields label.filter-toggle:hover{border-color:#248258}
#stamp-rally-guide .filter-switch{position:relative;display:flex;flex:0 0 48px;flex-direction:column;align-items:center;gap:3px}
#stamp-rally-guide .filter-switch input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
#stamp-rally-guide .filter-switch-track{position:relative;display:block;width:48px;height:28px;border:1px solid #7d8da0;border-radius:999px;background:#8493a5;transition:background-color .16s,border-color .16s}
#stamp-rally-guide .filter-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s}
#stamp-rally-guide .filter-switch input:checked + .filter-switch-track{background:#18794e;border-color:#18794e}
#stamp-rally-guide .filter-switch input:checked + .filter-switch-track::after{transform:translateX(20px)}
#stamp-rally-guide .filter-switch input:focus-visible + .filter-switch-track{outline:3px solid #df991b;outline-offset:4px}
#stamp-rally-guide .filter-switch-state{font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.04em;color:#526071}
#stamp-rally-guide .switch-on{display:none}
#stamp-rally-guide .filter-switch input:checked ~ .filter-switch-state .switch-on{display:inline;color:#155b35}
#stamp-rally-guide .filter-switch input:checked ~ .filter-switch-state .switch-off{display:none}
@media(max-width:760px){#stamp-rally-guide .filter-fields{grid-template-columns:1fr}#stamp-rally-guide .filter-fields > label:first-child{max-width:none}#stamp-rally-guide .filter-fields label.filter-toggle{min-height:62px}#stamp-rally-guide .prefecture-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#stamp-rally-guide .prefecture-nav a{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){#stamp-rally-guide .filter-toggle,#stamp-rally-guide .filter-switch-track,#stamp-rally-guide .filter-switch-track::after{transition:none!important}}


/* Mobile accordion: collapsed through 767px, always visible from 768px. */
#stamp-rally-guide .filter-accordion-button{display:none}
#stamp-rally-guide .filter-accordion-body{display:grid;grid-template-rows:1fr}
#stamp-rally-guide .filter-accordion-inner{min-height:0}
@media(max-width:767px){
#stamp-rally-guide .rally-filters h3{margin:0}
#stamp-rally-guide .filter-title-static{display:none}
#stamp-rally-guide .filter-accordion-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:0;padding:0;background:transparent;color:#061b49;text-align:left;cursor:pointer;font-family:inherit;font-size:20px;font-weight:800;line-height:1.5}
#stamp-rally-guide .filter-accordion-copy{display:flex;flex-direction:column;gap:2px}
#stamp-rally-guide .filter-accordion-status{font-size:13px;font-weight:500;color:#48586b;line-height:1.6}
#stamp-rally-guide .filter-accordion-button:focus-visible{outline:3px solid #df991b;outline-offset:5px;border-radius:4px}
#stamp-rally-guide .filter-accordion-chevron{flex-shrink:0;transition:transform .3s ease}
#stamp-rally-guide .filter-accordion-button[aria-expanded="true"] .filter-accordion-chevron{transform:rotate(180deg)}
#stamp-rally-guide .filter-accordion-body{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s ease,visibility 0s .3s}
#stamp-rally-guide .filter-accordion-body.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s ease,visibility 0s}
#stamp-rally-guide .filter-accordion-inner{overflow:hidden}

#stamp-rally-guide .filter-fields{grid-template-columns:1fr}
#stamp-rally-guide .filter-fields > label:first-child{max-width:none}
}
@media(prefers-reduced-motion:reduce){#stamp-rally-guide .filter-accordion-body,#stamp-rally-guide .filter-accordion-chevron{transition:none!important}}



#stamp-rally-guide [id^="shops-"],#stamp-rally-guide #booklet-shops{scroll-margin-top:120px}
@media(max-width:900px){#stamp-rally-guide [id^="shops-"],#stamp-rally-guide #booklet-shops{scroll-margin-top:100px}}

/* FAQ transferred from the confirmation page; native details work without JavaScript. */
#stamp-rally-guide .rally-faq{margin:36px 0 44px;padding:30px;background:#f7f9fc;border:1px solid #dbe3ee;border-radius:18px;color:#152d50}
#stamp-rally-guide .rally-faq>.section-kicker{font-size:13px;color:#536b8c;letter-spacing:.06em}
#stamp-rally-guide .rally-faq>h2{margin:4px 0 24px;font-size:28px;line-height:1.5}
#stamp-rally-guide .rally-faq>details{margin-top:12px;border:1px solid #dbe3ee;border-radius:10px;background:#fff;overflow:hidden}
#stamp-rally-guide .rally-faq summary{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:18px 48px 18px 18px;list-style:none;cursor:pointer;font-size:16px;font-weight:700;line-height:1.7}
#stamp-rally-guide .rally-faq summary::-webkit-details-marker{display:none}
#stamp-rally-guide .rally-faq summary::marker{content:""}
#stamp-rally-guide .rally-faq summary:before{content:"Q";display:flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#eaf0f8;color:#285489;font-family:Arial,sans-serif;font-size:15px}
#stamp-rally-guide .rally-faq summary:after{content:"＋";position:absolute;right:18px;color:#42638c;font-size:21px;font-weight:400}
#stamp-rally-guide .rally-faq details[open] summary:after{content:"−"}
#stamp-rally-guide .rally-faq summary:hover{background:#f8faff}
#stamp-rally-guide .rally-faq>details>p{margin:0;padding:4px 22px 22px;color:#333d4c;font-size:15px;font-weight:400;line-height:1.95}
#stamp-rally-guide .rally-faq .rally-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 22px 18px;color:#285489;font-size:14px;text-decoration:underline;text-underline-offset:4px}
#stamp-rally-guide .rally-last-action{margin-top:26px;text-align:center}
#stamp-rally-guide .rally-last-action h3{margin:0 0 14px;font-size:18px}
#stamp-rally-guide .rally-last-action .guide-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;max-width:100%;min-height:48px;background:#153c77;border-color:#153c77;color:#fff}
#stamp-rally-guide .rally-last-action .rally-fine-print{margin:16px 0 0;color:#596777;font-size:12px;font-weight:400}
#stamp-rally-guide .rally-last-action .rally-fine-print a{text-decoration:underline;text-underline-offset:3px}
#stamp-rally-guide #rally-faq,#stamp-rally-guide .rally-results-anchor,#stamp-rally-guide [id^="rally-place-"]{scroll-margin-top:120px}
@media(max-width:600px){#stamp-rally-guide .rally-faq{padding:22px 14px;border-radius:14px}#stamp-rally-guide .rally-faq>h2{font-size:24px;margin-bottom:20px}#stamp-rally-guide .rally-faq summary{font-size:14px;padding:16px 36px 16px 14px;gap:10px}#stamp-rally-guide .rally-faq summary:after{right:12px}#stamp-rally-guide .rally-faq>details>p{padding:2px 16px 18px;font-size:14px}#stamp-rally-guide .rally-faq .rally-text-link{margin-inline:16px;font-size:13px}#stamp-rally-guide .rally-last-action h3{font-size:16px}#stamp-rally-guide #rally-faq,#stamp-rally-guide .rally-results-anchor,#stamp-rally-guide [id^="rally-place-"]{scroll-margin-top:100px}}

/* County and category navigation share the existing condition filters. */
#stamp-rally-guide .rally-filters{padding:24px;background:#f7f9fc;border-color:#d8e2ef}
#stamp-rally-guide .directory-primary-filters{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px 24px;margin-bottom:22px}
#stamp-rally-guide .directory-search-title{grid-column:1 / -1;margin:0;color:#173d70;font-size:20px;font-weight:800;line-height:1.6}
#stamp-rally-guide .rally-prefecture-field{display:flex;flex-direction:column;gap:10px;color:#273e5c;font-size:14px;font-weight:700}
#stamp-rally-guide .rally-prefecture-field select{width:100%;min-height:48px;padding:10px 30px 10px 12px;border:1px solid #a4b5cb;border-radius:8px;background:#fff;color:#173d70;font:inherit;font-size:16px}
#stamp-rally-guide .rally-category-selector{min-width:0}
#stamp-rally-guide #rally-category-title{margin:0 0 10px;color:#273e5c;font-size:14px;font-weight:700}
#stamp-rally-guide .rally-category-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#stamp-rally-guide .rally-category-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;padding:10px 12px;border:1px solid #d2deed;border-radius:8px;background:#fff;color:#25466e;font-family:inherit;font-size:13px;font-weight:700;line-height:1.6;text-align:left;cursor:pointer}
#stamp-rally-guide .rally-category-chip:hover{background:#eaf1fb}
#stamp-rally-guide .category-chip-label{word-break:keep-all;overflow-wrap:normal;line-break:strict}
#stamp-rally-guide .rally-category-chip[aria-pressed="true"]{border-color:#153c77;background:#153c77;color:#fff;box-shadow:0 2px 5px #153c7718}
#stamp-rally-guide .category-chip-count{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:24px;height:24px;padding:0 6px;border-radius:20px;background:#edf2f8;color:#4e6686;font-size:11px;font-weight:600}
#stamp-rally-guide .rally-category-chip[aria-pressed="true"] .category-chip-count{background:#ffffff25;color:#fff}
#stamp-rally-guide .rally-category-chip.has-no-results:not([aria-pressed="true"]){color:#718099;background:#f9fbfd}
#stamp-rally-guide .rally-category-chip:focus-visible,#stamp-rally-guide .rally-prefecture-field select:focus-visible,#stamp-rally-guide .rally-directory-toolbar button:focus-visible{outline:3px solid #ad4c00;outline-offset:3px}
#stamp-rally-guide .rally-filters>h3{padding-top:18px;border-top:1px solid #dbe3ef;font-size:17px}
#stamp-rally-guide .filter-fields>label.filter-toggle:first-child{grid-column:auto;max-width:none}
#stamp-rally-guide .filter-selection{margin:20px 0 0;padding:12px 14px;border-radius:8px;background:#eaf0f8;color:#29476e;font-size:13px;font-weight:500;line-height:1.8}
#stamp-rally-guide .rally-filters>.filter-footer{gap:12px;align-items:center;margin-top:12px}
#stamp-rally-guide .rally-filters .filter-result{color:#173d70;font-size:16px;font-weight:700}
#stamp-rally-guide .rally-directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}
#stamp-rally-guide .rally-directory-toolbar>p{font-size:13px;font-weight:500;color:#536780;line-height:1.8}
#stamp-rally-guide .rally-directory-toolbar>div{display:flex;gap:8px;flex:0 0 auto}
#stamp-rally-guide .rally-directory-toolbar button{min-height:44px;padding:8px 12px;border:1px solid #bdccdf;border-radius:7px;background:#fff;color:#2b4a73;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
#stamp-rally-guide .rally-directory-toolbar button:hover{background:#edf3fc}
#stamp-rally-guide .prefecture>h3{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px;border-bottom-color:#d1ddec;color:#173d70}
#stamp-rally-guide .prefecture>h3>span{margin:0;font-size:14px;white-space:nowrap}
#stamp-rally-guide .rally-category-groups{display:grid;gap:14px}
#stamp-rally-guide .rally-category-group{min-width:0;border:1px solid #d6e1ee;border-radius:12px;background:#fff;overflow:hidden}
#stamp-rally-guide .rally-category-group>summary{display:flex;align-items:center;gap:12px;min-height:62px;padding:16px 20px;background:#f0f5fc;color:#1c426f;font-size:17px;font-weight:700;line-height:1.6;list-style:none;cursor:pointer}
#stamp-rally-guide .rally-category-group>summary::-webkit-details-marker{display:none}
#stamp-rally-guide .rally-category-group>summary::marker{content:""}
#stamp-rally-guide .rally-category-group>summary:hover{background:#e7effa}
#stamp-rally-guide .rally-category-group>summary:focus-visible{outline:3px solid #ad4c00;outline-offset:-4px;border-radius:10px}
#stamp-rally-guide .rally-category-count{margin-left:auto;padding:3px 10px;border-radius:20px;background:#fff;color:#536e91;font-size:12px;white-space:nowrap}
#stamp-rally-guide .rally-category-toggle{position:relative;flex:0 0 22px;width:22px;height:22px;color:#315b8c}
#stamp-rally-guide .rally-category-toggle:before,#stamp-rally-guide .rally-category-toggle:after{content:"";position:absolute;left:5px;top:10px;width:12px;height:2px;background:currentColor}
#stamp-rally-guide .rally-category-toggle:after{transform:rotate(90deg)}
#stamp-rally-guide .rally-category-group[open] .rally-category-toggle:after{transform:none}
#stamp-rally-guide .rally-category-group>.facility-grid{padding:16px;background:#fff}
#stamp-rally-guide .facility-parent-note{margin:6px 0 12px;color:#596d85;font-size:13px;font-weight:500;line-height:1.7}
@media(max-width:900px){#stamp-rally-guide .directory-primary-filters{grid-template-columns:minmax(0,1fr)}#stamp-rally-guide .rally-prefecture-field select{max-width:360px}}
@media(max-width:767px){
 #stamp-rally-guide .rally-filters{padding:18px 14px}#stamp-rally-guide .directory-primary-filters{gap:18px;margin-bottom:18px}#stamp-rally-guide .directory-search-title{font-size:18px}#stamp-rally-guide .rally-prefecture-field select{max-width:none}
 #stamp-rally-guide .rally-category-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#stamp-rally-guide .rally-category-chip{min-height:48px;padding:10px 9px;font-size:12px;gap:5px}#stamp-rally-guide .category-chip-count{min-width:21px;height:21px;font-size:10px;padding:0 5px}
 #stamp-rally-guide .filter-accordion-button{font-size:17px}#stamp-rally-guide .filter-fields{grid-template-columns:1fr}#stamp-rally-guide .rally-filters .filter-result{font-size:14px}#stamp-rally-guide .filter-selection{font-size:12px}
 #stamp-rally-guide .rally-directory-toolbar{align-items:flex-start;flex-direction:column;gap:10px}#stamp-rally-guide .rally-directory-toolbar>p{font-size:12px}#stamp-rally-guide .rally-directory-toolbar button{font-size:12px}
 #stamp-rally-guide .prefecture>h3{font-size:23px}#stamp-rally-guide .prefecture>h3>span{font-size:12px}#stamp-rally-guide .rally-category-group>summary{min-height:58px;padding:14px 12px;font-size:14px;gap:8px}#stamp-rally-guide .rally-category-count{font-size:11px;padding:3px 8px}#stamp-rally-guide .rally-category-group>.facility-grid{padding:10px;gap:12px}
}
