.clcm-app{--clcm-ink:#243e36;--clcm-green:#31664f;--clcm-mint:#edf3ef;--clcm-line:#dce5df;--clcm-muted:#61736b;color:var(--clcm-ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.75;background:#fbfcfa;border:1px solid var(--clcm-line);border-radius:18px;overflow:hidden;margin:24px 0;text-align:left;isolation:isolate}
.clcm-app *{box-sizing:border-box}.clcm-app [hidden]{display:none!important}.clcm-app button,.clcm-app a{font:inherit}.clcm-app button{cursor:pointer}.clcm-app button:focus-visible,.clcm-app a:focus-visible,.clcm-japan path:focus-visible{outline:3px solid #d0a349;outline-offset:3px}.clcm-app h2,.clcm-app h3,.clcm-app h4,.clcm-app p{background:none;border:none;box-shadow:none;padding:0;margin:0;color:inherit;letter-spacing:normal}.clcm-app h2:before,.clcm-app h2:after,.clcm-app h3:before,.clcm-app h3:after,.clcm-app h4:before,.clcm-app h4:after{content:none}.clcm-app a{color:var(--clcm-green)}
.clcm-app .clcm-header{padding:36px 36px 28px;background:linear-gradient(115deg,#edf4ee,#f9faf4);border-bottom:1px solid var(--clcm-line)}.clcm-eyebrow,.clcm-kicker{font-size:11px!important;font-weight:700;letter-spacing:.17em!important;color:var(--clcm-green)!important}.clcm-app .clcm-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(23px,3vw,34px);font-weight:600;line-height:1.6;margin:6px 0 10px;letter-spacing:.04em}.clcm-app .clcm-lead{color:var(--clcm-muted);font-size:14px;line-height:1.85}
.clcm-app .clcm-steps{display:flex;list-style:none;padding:18px 30px;margin:0;border-bottom:1px solid var(--clcm-line);gap:25px;background:white;flex-wrap:wrap}.clcm-steps li{display:flex;gap:9px;align-items:center;margin:0;color:#68786f;font-size:12px;font-weight:600}.clcm-step-number{width:24px;height:24px;border:1px solid #bdccc2;border-radius:50%;display:grid;place-items:center;font-size:11px}.clcm-steps .is-active{color:#285c42}.clcm-steps .is-active .clcm-step-number{background:var(--clcm-green);color:white;border-color:var(--clcm-green)}
.clcm-breadcrumb{display:flex;gap:10px;align-items:center;padding:18px 30px 0;font-size:12px;flex-wrap:wrap}.clcm-app .clcm-crumb{border:0;background:none;padding:2px;color:var(--clcm-green);text-decoration:underline;text-underline-offset:4px}.clcm-current{font-weight:700}.clcm-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;padding:20px 30px 28px;align-items:start}.clcm-map-panel{min-width:0;background:#eff4f3;border:1px solid var(--clcm-line);border-radius:12px;overflow:hidden}.clcm-map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;border-bottom:1px solid #dce5df;background:#f7faf7}.clcm-map-heading h3{font-size:15px;font-weight:700}.clcm-map-heading span{color:var(--clcm-muted);font-size:10px}.clcm-svg-wrap{height:420px;padding:15px 20px;background:radial-gradient(ellipse at 50% 50%,#fff 0%,#edf4f2 75%)}.clcm-japan{display:block;width:100%;height:100%;overflow:visible}.clcm-japan path{fill:#b7cdbf;stroke:#f7fbf7;stroke-width:.7;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.clcm-japan path:nth-child(3n){fill:#a8c5b5}.clcm-japan path.has-church{fill:#427a5f}.clcm-japan path:hover,.clcm-japan path:focus{fill:#d6b668;outline:none;stroke:#8b6c28;stroke-width:2}.clcm-japan path.is-region{stroke-width:1.4}.clcm-app .clcm-map-note{font-size:11px;color:var(--clcm-muted);padding:12px 16px 4px}.clcm-credits{font-size:9px;padding:0 16px 12px;color:var(--clcm-muted)}.clcm-detail-map{height:420px;position:relative;z-index:1;background:#eef2eb}.clcm-detail-map .leaflet-container{font-family:inherit}
.clcm-side{min-width:0;padding:4px 0}.clcm-app .clcm-side-title{font-size:20px;font-weight:700;margin:4px 0 18px;line-height:1.5}.clcm-side-title:focus{outline:none}.clcm-region-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clcm-app .clcm-region-button{position:relative;text-align:left;border:1px solid var(--clcm-line);border-radius:9px;background:#fff;padding:15px 27px 15px 15px;color:var(--clcm-ink);min-height:80px;box-shadow:0 2px 0 #e9eeea}.clcm-region-button strong,.clcm-region-button span{display:block}.clcm-region-button strong{font-size:15px}.clcm-region-button span{font-size:10px;color:var(--clcm-muted);margin-top:3px}.clcm-region-button i{position:absolute;right:12px;top:25px;font-style:normal;color:#758e7d}.clcm-app .clcm-region-button:hover,.clcm-app .clcm-pref-button:hover{background:#edf5ed;border-color:#7ea18b}.clcm-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.clcm-app .clcm-pref-button{text-align:left;padding:15px;border:1px solid var(--clcm-line);border-radius:9px;background:#fff;color:var(--clcm-ink)}.clcm-pref-button strong,.clcm-pref-button span{display:block}.clcm-pref-button span{font-size:11px;color:var(--clcm-muted);margin-top:4px}.clcm-app .clcm-back{border:none;background:none;color:var(--clcm-green);font-size:12px;padding:14px 0;margin-top:8px;text-align:left}.clcm-app .clcm-small{font-size:11px;color:var(--clcm-muted);margin-top:16px;line-height:1.8}.clcm-app .clcm-count{margin:-10px 0 16px;color:var(--clcm-muted);font-size:12px}
.clcm-results{display:grid;gap:14px;max-height:560px;overflow-y:auto;padding:2px}.clcm-card{border:1px solid var(--clcm-line);background:white;border-radius:10px;padding:20px;box-shadow:0 3px 12px #203b2c06}.clcm-card.is-selected{border-color:var(--clcm-green)}.clcm-card-top{display:flex;gap:9px;align-items:center;margin-bottom:14px}.clcm-card-number{display:grid;place-items:center;background:var(--clcm-green);color:#fff;border-radius:50%;height:25px;width:25px;font-size:12px}.clcm-city{font-size:11px;color:var(--clcm-muted)}.clcm-app .clcm-church-group{font-size:11px;color:var(--clcm-muted);margin-bottom:3px}.clcm-app .clcm-card-name{font-family:"Yu Mincho",serif;font-size:23px;font-weight:600;margin:0 0 14px}.clcm-app .clcm-worship{font-size:12px;margin:0 0 8px;line-height:1.8}.clcm-app .clcm-address{font-size:11px;color:var(--clcm-muted);margin-bottom:16px}.clcm-card-actions{display:flex;flex-direction:column;gap:7px}.clcm-app .clcm-primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--clcm-green);color:#fff!important;border:1px solid var(--clcm-green);border-radius:7px;padding:11px 16px;text-decoration:none;font-size:13px;line-height:1.6}.clcm-app .clcm-primary:hover{background:#244e3a}.clcm-app .clcm-text-button{border:0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px;color:var(--clcm-green);padding:8px}.clcm-badge{font-size:10px;border:1px solid #bca36a;background:#faf5e7;border-radius:4px;color:#735c26;padding:2px 7px}.clcm-empty{background:#f0f4ef;border-radius:10px;padding:30px 22px;text-align:center}.clcm-empty-icon{font-size:35px;color:#6a8e76}.clcm-app .clcm-empty h4{font-size:16px;margin:12px 0}.clcm-app .clcm-empty p{font-size:12px;color:var(--clcm-muted)}.clcm-footer{border-top:1px solid var(--clcm-line);background:#f4f6ee;padding:20px 30px}.clcm-footer strong{font-size:13px}.clcm-app .clcm-footer p{font-size:12px;color:var(--clcm-muted);margin-top:4px}.clcm-status{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.clcm-pin-container{background:none;border:none}.clcm-pin{display:grid;place-items:center;width:32px;height:32px;background:#356a4e;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #0005}.clcm-pin span{color:white;font-size:12px;font-weight:700;transform:rotate(45deg)}.clcm-popup{font-family:"Yu Gothic",Meiryo,sans-serif;min-width:150px}.clcm-popup strong{font-size:15px}.clcm-popup p{font-size:11px;line-height:1.7;margin:7px 0!important}.clcm-app .clcm-popup-button{background:#31664f;border:none;border-radius:5px;color:#fff;padding:6px 12px;font-size:12px}
.clcm-app .clcm-dialog{width:min(600px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:28px;border:1px solid var(--clcm-line);border-radius:16px;color:var(--clcm-ink);background:#fff;box-shadow:0 24px 100px #10271f55}.clcm-dialog::backdrop{background:#172e266b}.clcm-dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.clcm-app .clcm-close{border:1px solid var(--clcm-line);border-radius:20px;padding:5px 13px;font-size:12px;background:white;color:var(--clcm-ink)}.clcm-app .clcm-dialog-title{font-family:"Yu Mincho",serif;font-size:28px;margin:2px 0 20px}.clcm-app .clcm-description{font-size:14px;white-space:pre-wrap;line-height:1.9;margin-bottom:20px}.clcm-photo{width:100%;max-height:260px;object-fit:cover;border-radius:8px;margin-bottom:22px}.clcm-info{display:grid;grid-template-columns:75px 1fr;margin:0;font-size:13px;border-top:1px solid var(--clcm-line)}.clcm-info dt,.clcm-info dd{margin:0;border-bottom:1px solid var(--clcm-line);padding:12px 0;line-height:1.8}.clcm-info dt{font-size:11px;color:var(--clcm-muted)}.clcm-app .clcm-info dd{margin:0;padding-left:40px;overflow-wrap:anywhere;white-space:pre-wrap}.clcm-actions{display:flex;flex-direction:column;gap:9px;margin-top:23px}.clcm-app .clcm-secondary{display:block;text-align:center;text-decoration:none;padding:10px;border:1px solid var(--clcm-line);border-radius:7px;font-size:12px;color:var(--clcm-green)}.clcm-app .clcm-source{font-size:10px;color:var(--clcm-muted);margin-top:20px}.clcm-app .leaflet-control-attribution{font-size:9px}.clcm-app .leaflet-control a{box-shadow:none;text-decoration:none}
@media(min-width:1100px){.clcm-app{max-width:1180px;margin-left:auto;margin-right:auto}}
@media(max-width:760px){.clcm-app{border-radius:12px;font-size:14px}.clcm-app .clcm-header{padding:26px 20px}.clcm-app .clcm-title{font-size:24px}.clcm-app .clcm-lead{font-size:12px}.clcm-app .clcm-steps{padding:15px 16px;gap:12px}.clcm-steps li{font-size:10px;gap:5px}.clcm-step-number{height:21px;width:21px}.clcm-breadcrumb{padding:16px 18px 0}.clcm-layout{grid-template-columns:1fr;gap:22px;padding:16px 18px 22px}.clcm-svg-wrap{height:300px}.clcm-detail-map{height:340px}.clcm-side{padding:0}.clcm-app .clcm-side-title{font-size:19px}.clcm-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clcm-results{max-height:none}.clcm-footer{padding:18px}.clcm-app .clcm-dialog{padding:20px}.clcm-info{grid-template-columns:62px 1fr}.clcm-app .clcm-dialog-title{font-size:25px}}
.clcm-app{container-type:inline-size;container-name:churchmap}
@container churchmap (max-width:680px){.clcm-layout{grid-template-columns:1fr;gap:22px;padding:16px 18px 22px}.clcm-app .clcm-header{padding:26px 20px}.clcm-app .clcm-title{font-size:24px}.clcm-app .clcm-steps{padding:15px 16px;gap:12px}.clcm-steps li{font-size:10px;gap:5px}.clcm-breadcrumb{padding:16px 18px 0}.clcm-svg-wrap{height:300px}.clcm-detail-map{height:340px}.clcm-results{max-height:none}.clcm-footer{padding:18px}.clcm-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.clcm-app *{transition:none!important;scroll-behavior:auto!important}}
/* Keep article-theme heading decoration outside the embedded map. */
.clcm-app h2,.clcm-app h3,.clcm-app h4{background:none!important;border:none!important;box-shadow:none!important;padding:0!important}
.clcm-app h2::before,.clcm-app h2::after,.clcm-app h3::before,.clcm-app h3::after,.clcm-app h4::before,.clcm-app h4::after{content:none!important}
.clcm-app .clcm-map-heading h3{margin:0!important}
.clcm-app .clcm-title{margin:6px 0 10px!important}
.clcm-app .clcm-side-title{margin:4px 0 18px!important}
.clcm-app .clcm-card-name{margin:0 0 14px!important}
.clcm-app .clcm-dialog-title{margin:2px 0 20px!important}
.clcm-app h2,.clcm-app h3,.clcm-app h4{color:var(--clcm-ink)!important}
.clcm-app .clcm-dialog{margin:auto!important;inset:0;position:fixed}

.clcm-credit-changes{display:block;margin-top:3px}
