/* あそびば御朱印帳 */
.kgs-seal{position:relative;container-type:inline-size;aspect-ratio:3/4;width:100%;border-radius:6px;overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%,rgba(160,120,60,.06) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 64%,rgba(160,120,60,.05) 0 1.5px,transparent 2.5px),
    linear-gradient(170deg,#FFFBF1 0%,#F8EFD9 100%);
  background-size:23px 19px,31px 27px,auto;
  border:1.5px solid #D9C9A3;box-shadow:inset 0 0 18px rgba(170,130,60,.12);
  font-family:'Yuji Syuku','Hiragino Mincho ProN','Yu Mincho',serif;color:#1C1A17}
.kgs-seal::before{content:"";position:absolute;inset:4%;border:1px solid rgba(200,49,43,.18);border-radius:4px;pointer-events:none}
.kgs-ink{position:absolute;left:12%;top:24%;width:76%;height:auto;opacity:.86;mix-blend-mode:multiply}
.kgs-hono{position:absolute;right:9%;top:7%;writing-mode:vertical-rl;font-size:7.4cqw;letter-spacing:.12em;line-height:1}
.kgs-name{position:absolute;left:50%;top:9%;transform:translateX(-50%);writing-mode:vertical-rl;font-size:var(--fs,13cqw);line-height:1.05;letter-spacing:.06em;max-height:78%;white-space:normal;text-align:start;font-weight:400;text-shadow:0 0 .6px rgba(0,0,0,.6)}
.kgs-date{position:absolute;left:8%;bottom:12%;writing-mode:vertical-rl;font-size:5.6cqw;letter-spacing:.06em;line-height:1}
.kgs-sub{position:absolute;left:7%;top:7%;width:15%;height:auto;opacity:.9;transform:rotate(-6deg);mix-blend-mode:multiply}
.kgs-mini{position:absolute;right:8%;bottom:6%;font-size:5cqw;color:#C8312B;border:1.2px solid #C8312B;border-radius:2px;padding:.5cqw 1.2cqw;letter-spacing:.1em;transform:rotate(3deg)}
.kgs-seal.is-empty{background:linear-gradient(170deg,#FBF8F1,#F1ECE0);border-style:dashed;border-color:#CFC3A8}
.kgs-seal.is-empty .kgs-ink{opacity:.12;filter:grayscale(1)}
.kgs-seal.is-empty .kgs-name{color:#B5AC98;text-shadow:none}
.kgs-seal.is-empty .kgs-hono,.kgs-seal.is-empty .kgs-sub,.kgs-seal.is-empty .kgs-mini{opacity:.18;filter:grayscale(1)}
.kgs-empty{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:7cqw;color:#9A917C;background:#fff;border:1.5px dashed #CFC3A8;border-radius:999px;padding:.4cqw 3cqw}
/* 押す演出 */
.kgs-seal.is-anim .kgs-name,.kgs-seal.is-anim .kgs-hono,.kgs-seal.is-anim .kgs-date{animation:kgsBrush 1.1s ease-out both}
.kgs-seal.is-anim .kgs-hono{animation-delay:.1s}.kgs-seal.is-anim .kgs-date{animation-delay:1.3s}
.kgs-seal.is-anim .kgs-ink{animation:kgsStamp .5s cubic-bezier(.3,1.5,.5,1) .9s both}
.kgs-seal.is-anim .kgs-sub,.kgs-seal.is-anim .kgs-mini{animation:kgsStamp .4s ease-out 1.6s both}
@keyframes kgsBrush{from{clip-path:inset(0 0 100% 0);opacity:.3}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes kgsStamp{0%{opacity:0;transform:scale(1.7)}70%{opacity:.95}100%{opacity:.86;transform:scale(1)}}

/* 施設ページのカード */
.kgs-spot{margin:18px 0;background:#fff;border:2.5px solid #13294B;border-radius:18px;box-shadow:4px 5px 0 #13294B;padding:14px}
.kgs-spot-in{display:grid;grid-template-columns:min(36%,170px) 1fr;gap:14px;align-items:center}
.kgs-eyebrow{margin:0 0 2px;font-size:12px;font-weight:900;color:#C8312B;letter-spacing:.08em}
.kgs-h{margin:0 0 4px;font-family:'Zen Maru Gothic',sans-serif;font-size:17px;font-weight:900;line-height:1.4;color:#13294B}
.kgs-p{margin:0 0 6px;font-size:13px;line-height:1.7;color:#3b4a63}
.kgs-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 2px;padding:9px 16px;border:2.5px solid #13294B;border-radius:999px;background:#FF8FB1;color:#13294B !important;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:14px;box-shadow:3px 4px 0 #13294B;cursor:pointer;text-decoration:none !important}
.kgs-btn:active{transform:translate(2px,2px);box-shadow:1px 2px 0 #13294B}
.kgs-btn:disabled{opacity:.7}
.kgs-msg{margin:8px 0 4px;padding:7px 10px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.6}
.kgs-msg.ok{background:#FFF0F3;border:2px solid #FF8FB1;color:#8A1F3A}
.kgs-msg.ng{background:#F2F6FB;border:2px solid #9CB3CF;color:#2C4462}
.kgs-fine{margin:6px 0 0;font-size:11px;color:#6b7a90;line-height:1.6}
.kgs-link{display:inline-block;margin-top:6px;font-size:13px;font-weight:900;color:#FF5A3C !important;text-decoration:none !important}
@media (max-width:520px){.kgs-spot-in{grid-template-columns:38% 1fr;gap:10px}.kgs-h{font-size:15px}}

/* 御朱印帳ページ */
.kgs-main{padding-bottom:30px}
.kgs-sum{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center;background:#fff;border:2.5px solid #13294B;border-radius:18px;box-shadow:4px 5px 0 #13294B;padding:12px 16px;margin-bottom:12px}
.kgs-sum-n b{font-family:'Zen Maru Gothic',sans-serif;font-size:34px;font-weight:900;color:#C8312B;line-height:1}
.kgs-sum-n small{margin-left:4px;font-size:13px;font-weight:700;color:#3b4a63}
.kgs-sum-bar{height:14px;border:2px solid #13294B;border-radius:999px;background:#FFF6E9;overflow:hidden}
.kgs-sum-bar i{display:block;height:100%;background:repeating-linear-gradient(45deg,#C8312B 0 8px,#E04A42 8px 16px)}
.kgs-sum-k{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.kgs-sum-k span{font-size:12px;font-weight:900;border:2px solid #13294B;border-radius:999px;padding:1px 10px;background:#F4FBF6}
.kgs-sum-k .k-indoor{background:#F5F0FF}.kgs-sum-k .k-water{background:#EEF8FF}
.kgs-near{margin-bottom:12px}
.kgs-nearlist{list-style:none;margin:8px 0 0;padding:0;border:2px solid #13294B;border-radius:14px;background:#fff;overflow:hidden}
.kgs-nearlist li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:8px 12px;border-top:1px dashed #cfd6e2}
.kgs-nearlist li:first-child{border-top:0}
.kgs-nearlist a{font-weight:900;color:#13294B !important;text-decoration:none !important;font-size:14px}
.kgs-nearlist small{grid-column:1;font-size:11.5px;color:#6b7a90}
.kgs-nearlist .kgs-mini-btn,.kgs-nearlist .kgs-far{grid-column:2;grid-row:1/3}
.kgs-mini-btn{border:2px solid #13294B;border-radius:999px;background:#FF8FB1;font-weight:900;font-size:12px;padding:5px 10px;cursor:pointer;font-family:'Zen Maru Gothic',sans-serif;color:#13294B}
.kgs-far{font-size:11px;color:#8a95a6;font-weight:700}
.kgs-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 12px}
.kgs-filter button{border:2px solid #13294B;border-radius:999px;background:#fff;padding:3px 11px;font-weight:900;font-size:12.5px;cursor:pointer;font-family:'Zen Maru Gothic',sans-serif;color:#13294B}
.kgs-filter button.on{background:var(--c,#13294B);color:#fff}
.kgs-filter button.on:not([style]){background:#13294B}
.kgs-only{margin-left:auto;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:4px}
.kgs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.kgs-cell{padding:0;border:0;background:none;cursor:pointer;text-align:inherit}
.kgs-cell:hover .kgs-seal{transform:translateY(-2px);box-shadow:0 6px 12px rgba(19,41,75,.15)}
.kgs-cell .kgs-seal{transition:transform .15s,box-shadow .15s}
.kgs-none{grid-column:1/-1;margin:10px 0;padding:18px;border:2px dashed #cfd6e2;border-radius:14px;text-align:center;font-size:13px;color:#6b7a90}
.kgs-loading{font-size:13px;color:#6b7a90}
.kgs-ov{position:fixed;inset:0;z-index:9999;background:rgba(19,41,75,.5);display:flex;align-items:center;justify-content:center;padding:14px}
.kgs-modal{position:relative;width:min(360px,100%);max-height:94vh;overflow:auto;background:#fff;border:3px solid #13294B;border-radius:20px;box-shadow:6px 7px 0 #13294B;padding:16px;text-align:center}
.kgs-big{width:min(240px,74%);margin:0 auto 10px}
.kgs-x{position:absolute;right:10px;top:10px;width:34px;height:34px;border:2px solid #13294B;border-radius:50%;background:#fff;font-weight:900;cursor:pointer}

/* 入口バナー */
.kgs-entry{display:flex !important;align-items:center;gap:12px;margin-top:18px !important;margin-bottom:6px !important;background:#fff;border:2.5px solid #13294B;border-radius:18px;box-shadow:4px 5px 0 #13294B;padding:10px 14px !important;text-decoration:none !important;color:#13294B !important}
.kgs-entry-seal{flex:0 0 52px}
.kgs-entry-t{flex:1;min-width:0}
.kgs-entry-t b{display:block;font-family:'Zen Maru Gothic',sans-serif;font-size:16px;font-weight:900}
.kgs-entry-t small{display:block;font-size:12px;color:#3b4a63;line-height:1.5}
.kgs-entry-go{font-weight:900;font-size:20px;color:#FF5A3C}

/* 前に行ったことがある */
.kgs-past{margin:10px 0 4px;border:2px dashed #C9CFDB;border-radius:12px;background:#FFFDF8}
.kgs-past>summary{cursor:pointer;padding:8px 12px;font-weight:900;font-size:13px;color:#13294B;list-style:none}
.kgs-past>summary::-webkit-details-marker{display:none}
.kgs-past>summary::before{content:'＋ ';color:#C8312B}
.kgs-past[open]>summary::before{content:'－ '}
.kgs-past-in{padding:0 12px 10px}
.kgs-past-note{margin:0 0 6px;font-size:12.5px;font-weight:700;color:#8A1F3A}
.kgs-past-d{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:700;margin-bottom:6px}
.kgs-past-d input{font:inherit;padding:6px 8px;border:2px solid #13294B;border-radius:8px;background:#fff;min-height:38px}
.kgs-btn.kgs-btn-sub{background:#FFF0C2;font-size:13px;padding:8px 14px}
.kgs-fromvisit{margin:0 0 12px;padding:10px 12px;border:2px solid #FF8FB1;border-radius:12px;background:#FFF0F3}
.kgs-fromvisit p{margin:0 0 6px;font-size:13px;font-weight:700;color:#8A1F3A}
.kgs-modal .kgs-past{text-align:left}
