@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{color-scheme:light;--bg: #f2f8f1;--bg-accent: #e3efe0;--ink: #1f2b25;--muted: #5c7064;--highlight: #84c195;--deep: #2f5d46;--card: #ffffff;--line: rgba(47, 93, 70, .12);--shadow: 0 16px 36px rgba(47, 93, 70, .12);font-family:Noto Sans JP,Montserrat,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f8fbf7,#f2f8f1 45%,#e8f3e6);color:var(--ink)}a{color:inherit;text-decoration:none}.page{min-height:100vh;display:flex;flex-direction:column;animation:fadeIn .8s ease}.shell{max-width:1920px;margin:0 auto;width:100%;padding:0 32px}.hero{padding:16px 0 12px;background:var(--deep);color:#fff}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{font-family:Montserrat,Noto Sans JP,Helvetica Neue,Arial,sans-serif;font-size:1.8rem;letter-spacing:.06em;font-weight:700}.brand-block{display:flex;flex-direction:column;gap:4px}.brand-subtitle{font-size:.75rem;letter-spacing:.08em;color:#ffffffbf;text-transform:uppercase}.nav-links{display:flex;gap:10px;font-size:.95rem;color:#ffffffc7}.nav-links a{position:relative;padding:8px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;transition:background .2s ease,border-color .2s ease,color .2s ease}.nav-button{background:none;border:none;color:inherit;font:inherit;padding:0;cursor:pointer;position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:transparent;transition:background .3s ease}.nav-links a:hover:after{background:transparent}.nav-links a{font-weight:500}.nav-links a.active{background:#fff3;border-color:#ffffffa6;color:#fff}.nav-button:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:transparent;transition:background .3s ease}.nav-button:hover:after{background:#fff}.subscribe{border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;padding:9px 18px;border-radius:12px;font-size:.85rem;cursor:pointer}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--muted)}.lead{font-size:1.05rem;color:var(--muted);line-height:1.7;max-width:560px}.hero-actions{display:flex;gap:12px;margin-top:24px}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,20%);gap:24px;margin-top:24px}.main-column{min-width:0}.sidebar{display:flex;flex-direction:column;gap:16px}.sidebar-card{background:var(--card);border:1px solid rgba(47,93,70,.08);border-radius:16px;padding:16px;box-shadow:var(--shadow)}.sidebar-card.toc-card{background:var(--bg-accent)!important;box-shadow:none!important;position:sticky;top:24px}.toc-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.toc-item a{display:inline-block;font-size:.9rem;color:var(--muted)}.toc-item-level-3{padding-left:12px}.toc-item-level-3 a{font-size:.85rem}.sidebar-card h4{margin:0 0 10px;font-size:1rem}.sidebar-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.profile-avatar{width:min(100%,200px);aspect-ratio:1 / 1;display:block;margin:0 auto 12px;object-fit:cover;border-radius:999px;border:1px solid rgba(47,93,70,.12)}.primary,.ghost{padding:12px 20px;border-radius:12px;font-size:.95rem;cursor:pointer;border:1px solid transparent}.primary{background:var(--highlight);color:#123321;box-shadow:0 10px 24px #84c19559}.ghost{background:transparent;border-color:var(--line);color:var(--deep)}.hero-card{background:var(--card);padding:24px;border-radius:18px;box-shadow:var(--shadow);border:1px solid rgba(47,93,70,.06);animation:slideUp .8s ease}.card-title{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--muted)}.hero-card h2{font-family:Manrope,Zen Kaku Gothic New,Helvetica Neue,Arial,sans-serif;margin:12px 0;font-size:1.6rem}.card-body{color:var(--muted);line-height:1.6}.card-meta{display:flex;gap:16px;font-size:.85rem;color:var(--muted);margin-top:20px}.content{padding:16px 0 80px}.section{margin-top:40px}.section-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}.category-header{background:#fff;border-radius:16px;padding:20px;border:1px solid rgba(47,93,70,.36)}.section h3{font-family:Montserrat,Noto Sans JP,Helvetica Neue,Arial,sans-serif;font-size:1.6rem;margin:0}.section p{color:var(--muted)}.stats{display:flex;gap:18px}.stats div{background:#84c1952e;padding:10px 16px;border-radius:12px;text-align:center}.stats strong{display:block;font-size:1.1rem}.filter{margin-top:20px}.tag-filter{display:flex;flex-wrap:wrap;gap:10px}.tag{border:1px solid var(--line);background:#f7fbf6;padding:7px 14px;border-radius:999px;font-size:.85rem;cursor:pointer}.tag.active{background:var(--highlight);color:#123321;border-color:transparent}.posts{display:flex;flex-direction:column;gap:16px}.post-card{background:var(--card);padding:20px;border-radius:16px;border:1px solid rgba(47,93,70,.08);display:flex;flex-direction:column;gap:12px;min-height:220px;transition:box-shadow .25s ease}.post-card:hover{box-shadow:0 12px 24px #2f5d461f}.post-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.post-card h4{font-family:Montserrat,Noto Sans JP,Helvetica Neue,Arial,sans-serif;margin:0;font-size:1.2rem}.post-card-body{display:flex;gap:16px;align-items:stretch}.post-card-cover{min-width:180px;width:210px;background:linear-gradient(160deg,#cfeefe,#a9dbf4);border-radius:14px;padding:12px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#0f3b57;font-weight:600;line-height:1.3}.post-card-cover span{display:inline-block;position:relative;z-index:1;white-space:pre-line}.post-card-cover:has(.post-card-cover-img){padding:0}.post-card-cover-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px}.post-card-content{display:flex;flex-direction:column;gap:10px}.category-badge{align-self:flex-start;font-size:.74rem;border-radius:999px;padding:4px 10px;font-weight:600;letter-spacing:.04em;background:#84c1953d;color:#1d4a35}.post-card-content p{margin:0}.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.post-tags span{font-size:.75rem;background:#84c19533;padding:4px 10px;border-radius:999px;color:#2c513c}.text-link{background:none;border:none;padding:0;color:var(--deep);font-weight:600;cursor:pointer;text-align:left}.post-detail{background:var(--card);border:1px solid rgba(47,93,70,.08);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}.post-detail-links{display:flex;gap:14px;flex-wrap:wrap}.post-detail h2{margin:0;font-size:1.6rem}.post-description{margin:0;color:var(--muted)}.post-content{line-height:1.8;color:var(--ink)}.post-content h1{margin:2rem 0 1.2rem;background:var(--deep);color:#fff;padding:4px 12px;border-radius:8px}.post-content h2{margin:3rem 0 1.5rem;background:var(--deep);color:#fff;padding:4px 12px;border-radius:8px}.post-content .post-toc-heading{margin:2.2rem 0 0;background:#fff;color:var(--deep);padding:12px 1em;border:2px solid rgba(47,93,70,.28);border-bottom:none;font-size:1.1rem;letter-spacing:.04em;border-radius:0}.post-content .post-toc-heading+ul{list-style:none;margin:0 0 1.6rem;padding:12px 1em 16px;border:2px solid rgba(47,93,70,.28);border-top:none;border-radius:0;background:#fff;box-shadow:var(--shadow);display:grid;gap:8px}.post-content .post-toc-heading+ul li{position:relative;padding-left:22px}.post-content .post-toc-heading+ul li:before{content:"▢";position:absolute;left:0;top:.05em;color:var(--highlight)}.post-content .post-toc-heading+ul a{color:var(--deep);text-decoration:none}.post-content .post-toc-heading+ul a:hover{text-decoration:underline}.post-content .post-toc-heading+ul ul{margin-top:6px;padding-left:16px}.post-content h3{margin:1.2rem 0;font-weight:700}.post-content p{margin:0 0 1.5rem}.post-content img{max-width:100%;height:auto;display:block;margin-inline:auto;border-radius:12px}.post-content img.is-portrait{max-width:min(100%,520px)}.post-content .post-figure{display:block;margin:0 auto 1rem}.post-content .post-figure-caption{display:block;font-size:.85rem;color:var(--muted);text-align:center;margin-top:6px}.post-content .ticket-purchase-methods .post-figure{margin:0 0 1rem}.post-content .ticket-purchase-methods .post-figure-caption{font-size:.95rem;color:var(--ink);text-align:left;margin-bottom:6px}.post-content ul{margin:0 0 1rem;padding-left:1.2rem}.post-content table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.95rem}.post-content th,.post-content td{border:1px solid rgba(47,93,70,.16);padding:8px 10px;text-align:left;vertical-align:top}.post-content th{background:#84c1952e;font-weight:600}.post-content a{color:var(--deep);text-decoration:underline}.post-content .ratings-panel{background:#e4f3e7;border:1px solid rgba(47,93,70,.18);border-radius:12px;padding:8px 10px;margin:0 0 1rem;display:grid;gap:6px}.post-content .ratings-row{display:grid;grid-template-columns:64px 1fr auto 1fr;align-items:center;gap:10px}.post-content .ratings-label{font-weight:600;color:#24553b;text-align:right}.post-content .ratings-stars{letter-spacing:2px;white-space:nowrap}.post-content .ratings-hint{font-size:.85rem;color:#24553bb8}.post-content .ratings-hint-left{text-align:right;justify-self:end}.post-content .ratings-hint-right{text-align:left;justify-self:start}@media(max-width:640px){.post-content .ratings-row{grid-template-columns:1fr;gap:4px}.post-content .ratings-label{text-align:left}.post-content .ratings-hint-left{text-align:left;justify-self:start}}.post-content .ratings-star{color:#2f5d4640;font-size:1.05rem}.post-content .ratings-star.filled{color:#f2c94c;text-shadow:0 1px 0 rgba(124,88,0,.25)}.post-content .directive-message{border:1px solid rgba(242,201,76,.7);background:#f2c94c24;padding:12px 14px;border-radius:10px;margin:0 0 1.5rem}.post-content .directive-note{border:1px solid rgba(124,186,143,.7);background:#7cba8f2e;padding:12px 14px;border-radius:10px;margin:0 0 1.5rem}.post-content .directive-title{font-weight:700;text-decoration:underline;margin:0 0 8px}.post-content .directive-message p:last-child,.post-content .directive-note p:last-child{margin-bottom:0}.map-embed{display:flex;flex-direction:column;gap:8px;margin:12px 0 18px}.map-embed iframe{width:100%;height:320px;border:0;border-radius:12px;box-shadow:var(--shadow)}.map-link{color:var(--deep);font-weight:600;text-decoration:none}.map-link:hover{text-decoration:underline}.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;background:var(--bg-accent);padding:28px;border-radius:18px}.callout{background:var(--card);border-radius:16px;padding:18px;border:1px solid rgba(47,93,70,.08)}.callout ul{margin:0;padding-left:18px;color:var(--muted)}.footer{margin-top:auto;padding:24px 0 36px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer-links a{text-decoration:underline}.cookie-banner{position:fixed;right:16px;bottom:16px;width:min(480px,calc(100vw - 32px));background:#fff;border:1px solid rgba(47,93,70,.22);border-radius:14px;padding:14px;box-shadow:0 14px 28px #2f5d4629;z-index:1000}.cookie-banner p{margin:0;color:var(--ink);font-size:.88rem;line-height:1.6}.cookie-banner-actions{margin-top:10px;display:flex;gap:10px;justify-content:flex-end}.static-page h2{margin-bottom:8px}.static-page .post-content p{margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.nav{justify-content:flex-start}.nav-links{flex-wrap:wrap}.hero-actions{flex-direction:column;align-items:stretch}.footer-inner{flex-direction:column;align-items:flex-start}.layout{grid-template-columns:1fr}}@media(max-width:600px){.hero{padding:32px 0 16px}.content{padding:12px 0 60px}.stats{width:100%;justify-content:space-between}.shell{padding:0 6vw}.post-card-body{flex-direction:column}.post-card-cover{width:100%;min-width:0}.cookie-banner{right:12px;left:12px;width:auto;bottom:12px}}
