:root{--bg:#faf8f5;--bg-soft:#f2ede6;--fg:#1f1b17;--fg-soft:#5c554c;--fg-faint:#8a8177;--rule:#e0d8cc;--accent:#a8342a;--accent-soft:#f3e4e1;--todo-bg:#fdf6e3;--todo-line:#d9c48a;--todo-fg:#6b5720;--serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--sans:"Hiragino Sans", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--measure:40rem}:root:not([data-theme=light]){color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#14110e;--bg-soft:#1e1a16;--fg:#ece6dd;--fg-soft:#b3aaa0;--fg-faint:#857d73;--rule:#332c25;--accent:#e0685a;--accent-soft:#2e1c19;--todo-bg:#241f13;--todo-line:#5c4c24;--todo-fg:#d9c48a}}:root[data-theme=dark]{color-scheme:dark;--bg:#14110e;--bg-soft:#1e1a16;--fg:#ece6dd;--fg-soft:#b3aaa0;--fg-faint:#857d73;--rule:#332c25;--accent:#e0685a;--accent-soft:#2e1c19;--todo-bg:#241f13;--todo-line:#5c4c24;--todo-fg:#d9c48a}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.95}.wrap{padding-inline:20px}.col{max-width:var(--measure);margin-inline:auto}.col-wide{max-width:56rem;margin-inline:auto}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}.site-head{border-bottom:1px solid var(--rule);padding-block:18px}.site-head .col-wide{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.site-title{font-family:var(--serif);letter-spacing:.12em;color:var(--fg);font-size:1.15rem;font-weight:600;text-decoration:none}.site-title:before{content:"⛩";color:var(--accent);margin-right:.5em;font-size:.95em}.site-tag{color:var(--fg-faint);letter-spacing:.06em;font-size:.8rem}.hero{padding-block:56px 28px}.kicker{letter-spacing:.18em;color:var(--accent);margin:0 0 14px;font-size:.78rem;font-weight:700}h1{font-family:var(--serif);letter-spacing:.03em;margin:0 0 18px;font-size:clamp(1.6rem,1.1rem + 2.2vw,2.35rem);font-weight:600;line-height:1.45}.meta{color:var(--fg-faint);letter-spacing:.06em;border-top:1px solid var(--rule);flex-wrap:wrap;gap:18px;padding-top:14px;font-size:.8rem;display:flex}.status-draft{background:var(--accent-soft);color:var(--accent);letter-spacing:.1em;border-radius:3px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-block}.prose{padding-bottom:72px}.prose h2{font-family:var(--serif);letter-spacing:.05em;border-bottom:1px solid var(--rule);margin:3.2em 0 .9em;padding-bottom:.45em;font-size:1.35rem;font-weight:600}.prose h3{font-family:var(--serif);letter-spacing:.05em;margin:2.4em 0 .7em;font-size:1.08rem;font-weight:600}.prose p{margin:0 0 1.5em}.prose strong{font-weight:700}.prose blockquote{border-left:3px solid var(--rule);color:var(--fg-soft);margin:1.8em 0;padding:.2em 0 .2em 1.2em}.prose sup a{padding:0 .15em;font-size:.7em;text-decoration:none}.prose hr{border:0;border-top:1px solid var(--rule);margin:3em 0}.prose ul,.prose ol{margin:0 0 1.5em;padding-left:1.4em}.prose li{margin-bottom:.5em}.prose table{border-collapse:collapse;width:100%;margin:1.8em 0;font-size:.9rem;line-height:1.7;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:.6em .8em}.prose th{background:var(--bg-soft);white-space:nowrap;font-weight:700}.shot{margin:2.4em 0}.shot-ph{border:2px dashed var(--rule);background:var(--bg-soft);aspect-ratio:3/2;text-align:center;border-radius:6px;flex-direction:column;justify-content:center;gap:.7em;padding:22px;display:flex}.shot-ph .id{font-family:var(--sans);letter-spacing:.16em;color:var(--accent);font-size:.75rem;font-weight:700}.shot-ph .what{font-size:1rem;font-weight:700;line-height:1.6}.shot-ph .how{color:var(--fg-soft);max-width:30em;margin-inline:auto;font-size:.82rem;line-height:1.8}.shot.must .shot-ph{border-color:var(--accent)}.shot.must .shot-ph:before{content:"必須";background:var(--accent);color:#fff;letter-spacing:.12em;border-radius:2px;align-self:center;padding:1px 8px;font-size:.68rem}.shot img{border-radius:6px;width:100%;height:auto;display:block}.shot figcaption{color:var(--fg-faint);margin-top:.7em;font-size:.78rem;line-height:1.7}.shot.portrait .shot-ph{aspect-ratio:3/4;max-width:26rem;margin-inline:auto}.todo{background:var(--todo-bg);border:1px solid var(--todo-line);color:var(--todo-fg);border-left-width:4px;border-radius:4px;margin:2em 0;padding:16px 18px;font-size:.88rem;line-height:1.85}.todo>:first-child{margin-top:0}.todo>:last-child{margin-bottom:0}.todo .label{letter-spacing:.14em;opacity:.85;margin-bottom:.5em;font-size:.72rem;font-weight:700;display:block}.todo ul{margin:.4em 0 0;padding-left:1.2em}.fill{border-bottom:1.5px dashed var(--todo-line);min-width:5em;color:var(--fg-faint);display:inline-block}.refs{font-size:.84rem;line-height:1.8}.refs ol{padding-left:1.5em}.refs li{word-break:break-all;margin-bottom:.7em}.lede{color:var(--fg-soft);font-size:1rem}.card-list{margin:32px 0 0;padding:0;list-style:none}.card{border-top:1px solid var(--rule);padding:24px 0}.card a{color:inherit;text-decoration:none;display:block}.card a:hover h2{color:var(--accent)}.card h2{font-family:var(--serif);margin:.3em 0 .5em;font-size:1.2rem;font-weight:600;line-height:1.55}.card .where{letter-spacing:.1em;color:var(--fg-faint);font-size:.75rem}.card .desc{color:var(--fg-soft);margin:0;font-size:.88rem}.shotlist{padding-block:40px 80px}.shotlist ol{counter-reset:s;margin:0;padding:0;list-style:none}.shotlist li{border:1px solid var(--rule);background:var(--bg-soft);border-radius:6px;margin-bottom:12px;padding:14px 16px}.shotlist li.must{border-color:var(--accent)}.shotlist .id{letter-spacing:.14em;color:var(--accent);font-size:.72rem;font-weight:700}.shotlist .what{margin:.2em 0 .3em;font-weight:700;line-height:1.6}.shotlist .how{color:var(--fg-soft);margin:0;font-size:.85rem}.backlink{font-size:.82rem}.site-foot{border-top:1px solid var(--rule);color:var(--fg-faint);padding-block:24px 48px;font-size:.78rem;line-height:1.9}.site-nav{gap:18px;margin-left:auto;font-size:.82rem;display:flex}.site-nav a{color:var(--fg-soft);letter-spacing:.06em;text-decoration:none}.site-nav a:hover{color:var(--accent)}.site-nav a[aria-current=page]{color:var(--fg);font-weight:700}.journal{margin:36px 0 0;padding:0;list-style:none}.entry{border-top:1px solid var(--rule)}.entry:last-child{border-bottom:1px solid var(--rule)}.entry a{color:inherit;grid-template-columns:7.5rem 1fr;gap:4px 20px;padding:26px 0;text-decoration:none;display:grid}.entry-date{letter-spacing:.1em;color:var(--fg-faint);font-variant-numeric:tabular-nums;padding-top:.35em;font-size:.8rem}.entry-where{letter-spacing:.08em;color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 .35em;font-size:.75rem;display:flex}.entry h2{font-family:var(--serif);margin:0 0 .45em;font-size:1.18rem;font-weight:600;line-height:1.6}.entry a:hover h2{color:var(--accent)}.entry .desc{color:var(--fg-soft);margin:0;font-size:.88rem}@media (width<=640px){.entry a{grid-template-columns:1fr;gap:6px;padding:22px 0}.entry-date{padding-top:0}}.minor{font-family:var(--sans);letter-spacing:.16em;color:var(--fg-faint);border-bottom:1px solid var(--rule);margin:2.6em 0 1.1em;padding-bottom:.7em;font-size:.78rem;font-weight:700}.visited{margin-top:56px}.region{margin-bottom:8px}.pref-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pref-chips a,.pref-chips span{border:1px solid var(--rule);color:var(--fg);background:var(--bg-soft);border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:.84rem;text-decoration:none;display:inline-flex}.pref-chips a:hover{border-color:var(--accent);color:var(--accent)}.pref-chips .n{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.pref-chips .empty span{color:var(--fg-faint);background:0 0;border-style:dashed}.hero .kicker a{color:var(--accent);text-decoration:none}.hero .kicker a:hover{text-decoration:underline}.lede-close{font-family:var(--serif);letter-spacing:.05em;color:var(--fg);border-left:3px solid var(--accent);margin:1.8em 0 0;padding-left:1em;font-size:1.12rem;line-height:1.85}.hero .lede+.lede{margin-top:1.4em}
