:root{--primary: #5b7a6b;--primary-light: #7a9e8a;--primary-pale: #edf2f0;--primary-night: #1f2a25;--primary-hover: #4a6959;--accent: #c47d5a;--accent-hover: #b06a48;--accent-gold: #a37b3a;--accent-gold-hover: #8a6428;--bg: #faf9f7;--card-bg: #ffffff;--section-bg: #f4f3ef;--text: #333333;--text-light: #666666;--text-soft: #767676;--border: #eaeaea;--shadow-sm: 0 4px 12px rgba(91, 122, 107, .05);--shadow-md: 0 8px 24px rgba(91, 122, 107, .08);--shadow-lg: 0 20px 40px rgba(91, 122, 107, .15);--font-serif: "Noto Serif JP", serif;--font-sans: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif}:root{--max-width: 720px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text);background-color:var(--bg);line-height:1.8;letter-spacing:.03em;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}img{max-width:100%;height:auto;display:block}:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;word-break:auto-phrase}:where(p,li){text-wrap:pretty;word-break:auto-phrase}.header{transition:transform .3s ease}body.scroll-hide-header .header{transform:translateY(-100%)}.back-to-top{position:fixed;right:24px;bottom:24px;width:40px;height:40px;border-radius:50%;background:#5b7a6bd9;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s,background .2s;z-index:150;-webkit-tap-highlight-color:transparent}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .3s ease,transform .3s ease,visibility 0s linear 0s,background .2s}.back-to-top:hover,.back-to-top:focus-visible{background:var(--primary);outline:none}.back-to-top svg{width:16px;height:16px;flex-shrink:0}@media(prefers-reduced-motion:reduce){body.scroll-hide-header .header{transform:none}.header,.back-to-top{transition:none}.back-to-top.visible{transform:none}}@media(max-width:600px){.back-to-top{right:16px;bottom:16px;width:38px;height:38px}}.prose{line-height:1.9}.prose h2{font-family:var(--font-serif);font-size:1.625rem;margin-top:4rem;margin-bottom:1.5rem;font-weight:700;line-height:1.5;color:var(--text);letter-spacing:.02em;position:relative;padding-top:2.25rem}.prose h2:before{content:". . .";position:absolute;top:0;left:50%;transform:translate(-50%);font-size:.9rem;color:var(--text-soft);letter-spacing:.6em;line-height:1;opacity:.55}.prose h3{font-family:var(--font-serif);font-size:1.2rem;margin-top:2.5rem;margin-bottom:.85rem;font-weight:700;line-height:1.5;letter-spacing:.02em;color:var(--text)}.prose p{margin-bottom:1.75rem}.prose ul,.prose ol{margin-bottom:1.75rem;padding-left:1.5rem}.prose li{margin-bottom:.6rem}.prose mark{background:transparent;color:var(--primary);font-weight:600;padding:0}.prose a{color:var(--primary);text-decoration:underline}.prose a:hover{color:var(--primary-hover)}.prose blockquote{border-left:3px solid var(--primary);padding:1rem 1.25rem;color:var(--text-light);margin-bottom:1.5rem;font-style:italic;background:var(--primary-pale);border-radius:0 8px 8px 0}.prose code{background-color:var(--primary-pale);padding:.15rem .4rem;border-radius:4px;font-size:.9em}.prose pre{background-color:#1c1917;color:#fafaf9;padding:1.25rem;border-radius:8px;overflow-x:auto;margin-bottom:1.5rem}.prose pre code{background:none;padding:0;font-size:.875rem}.prose hr{border:none;text-align:center;margin:3rem 0;position:relative;height:1em;overflow:visible}.prose hr:before{content:". . .";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9rem;color:var(--text-soft);letter-spacing:.6em;line-height:1;opacity:.55}.toc{margin-bottom:3rem;padding:1.5rem 1.75rem;background:var(--section-bg);border-radius:16px;border:1px solid rgba(0,0,0,.04);border-left:4px solid var(--primary);box-shadow:var(--shadow-sm)}.toc-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1rem;letter-spacing:.05em}.toc-list{list-style:none;padding:0;margin:0;counter-reset:toc-counter}.toc-item{margin-bottom:.4rem}.toc-item:not(.toc-item--sub){counter-increment:toc-counter;margin-top:.3rem}.toc-item:not(.toc-item--sub):first-child{margin-top:0}.toc-item a{display:flex;gap:.75rem;font-size:.9rem;line-height:1.7;color:var(--text);text-decoration:none;transition:color .15s}.toc-item a:hover{color:var(--primary);text-decoration:none}.toc-item:not(.toc-item--sub) a:before{content:counter(toc-counter,decimal-leading-zero);font-family:var(--font-serif);font-size:.8rem;font-weight:700;color:var(--primary);opacity:.5;flex-shrink:0;min-width:1.5rem;letter-spacing:.04em;line-height:1.85}.toc-item--sub{padding-left:2.25rem}.toc-item--sub a{display:block;font-size:.825rem;color:var(--text-light)}.toc-item--sub a:hover{color:var(--primary)}.cta-box{margin-top:2.5rem;padding:1.75rem 2rem;background:var(--primary-pale);border-left:4px solid var(--primary);border-radius:0 16px 16px 0;box-shadow:var(--shadow-sm)}.cta-box p{margin:.5rem 0;font-size:.95rem}.cta-box strong{display:block;font-size:1rem;color:var(--text);margin-bottom:.75rem}.cta-box a{color:var(--primary);font-weight:600}.cta-box a:hover{color:var(--primary-hover)}.guide-card{margin:.8rem 0 2.2rem}.guide-card a{display:flex;align-items:stretch;min-height:130px;text-decoration:none;color:var(--text);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:4px 8px 8px 4px;overflow:hidden;background:var(--card-bg);box-shadow:0 1px 4px #0000000a;transition:border-color .2s,box-shadow .2s}.guide-card a:hover{border-color:var(--primary);box-shadow:0 2px 12px #00000014;text-decoration:none}.guide-card img{width:140px;height:auto;align-self:stretch;object-fit:cover;object-position:top;flex-shrink:0}.guide-card-body{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;min-width:0}.guide-card-label{font-size:.68rem;font-weight:600;color:var(--primary);letter-spacing:.03em}.guide-card-title{font-weight:600;font-size:.9rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.guide-card-desc{font-size:.78rem;color:var(--text-soft);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page-title-section{padding:48px 24px 32px;text-align:center;background:linear-gradient(180deg,var(--primary-pale) 0%,var(--bg) 100%)}.page-title{font-family:var(--font-serif);font-size:24px;font-weight:700;color:var(--text);margin-bottom:8px;letter-spacing:.04em}.page-subtitle{font-size:15px;color:var(--text-light)}.page-container{max-width:760px;margin:0 auto;padding:60px 24px 100px}.page-container .page-title{font-size:28px;margin-bottom:12px}.page-container .page-updated{font-size:14px;color:var(--text-soft);margin-bottom:48px}.page-container .section{margin-bottom:40px}.page-container .section h2{font-family:var(--font-serif);font-size:20px;font-weight:700;color:var(--primary);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--primary-pale);position:relative}.page-container .section p{font-size:15px;color:var(--text-light);line-height:2;margin-bottom:12px}.page-container .section ul{list-style:none;padding:0;margin-bottom:12px}.page-container .section ul li{font-size:15px;color:var(--text-light);line-height:2;padding-left:20px;position:relative}.page-container .section ul li:before{content:"";position:absolute;left:2px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--primary-pale)}@media(max-width:600px){.page-title-section{padding:32px 24px 24px}.page-title{font-size:20px}.page-container{padding:40px 20px 80px}.page-container .page-title{font-size:24px}}@media(max-width:600px){.guide-card{margin:.6rem 0 1.8rem}.guide-card a{min-height:100px}.guide-card img{width:100px}.guide-card-body{padding:.7rem .8rem;gap:.25rem}.guide-card-title{font-size:.83rem}.guide-card-desc{-webkit-line-clamp:1;font-size:.73rem}}.site-main[data-astro-cid-37fxchfa]{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 4rem}
