:root{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f8f9fa;--surface-tint: #f3f4f5;--surface-muted: #edeeef;--line: #e1e3e4;--line-strong: #c3c7cb;--text: #191c1d;--muted: #43474a;--muted-strong: #73787b;--primary: #e3f2fd;--primary-ink: #526069;--secondary: #ebdcdf;--secondary-ink: #665c5e;--tertiary: #e6f3e7;--tertiary-ink: #556158;--soft-pink: #fff0f3;--soft-pink-ink: #7a5563;--shadow: 0 16px 36px rgba(25, 28, 29, .06);--shadow-soft: 0 8px 22px rgba(25, 28, 29, .04);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--radius-xl: 24px;--site-max: 1120px;--reading-max: 800px;--body-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Yu Gothic UI", "Hiragino Sans", "Meiryo", sans-serif;--heading-font: ui-serif, Georgia, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--body-font);line-height:1.8;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg)}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}::selection{background:#e3f2fde6}.skip-link{position:absolute;left:50%;top:8px;transform:translate(-50%,-160%);z-index:1000;padding:10px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft)}.skip-link:focus{transform:translate(-50%)}.site-shell{width:min(var(--site-max),calc(100% - 32px));margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:#fffffffa}.header-shell{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0}.brand-mark{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--primary);color:var(--primary-ink);font-weight:800;box-shadow:var(--shadow-soft)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-name{font-family:var(--heading-font);font-size:1.28rem;line-height:1.2;font-weight:700}.brand-subtitle{color:var(--muted-strong);font-size:.9rem;line-height:1.35}.site-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.site-nav__link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;color:var(--muted);text-decoration:none;border:1px solid transparent;transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.site-nav__link:hover,.site-nav__link:focus-visible{color:var(--text);background:var(--surface-soft);border-color:var(--line)}.site-nav__link--active{background:var(--primary);color:var(--primary-ink);border-color:#52606926;box-shadow:var(--shadow-soft)}.site-main{padding:28px 0 56px}.hero-card,.page-shell,.article-shell,.empty-state,.reserve-slot,.not-found-panel,.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.hero-card{display:grid;gap:20px;padding:28px}.eyebrow{margin:0;color:var(--primary-ink);font-size:.9rem;font-weight:700;letter-spacing:.08em}.hero-title{margin:0;font-family:var(--heading-font);font-size:3rem;line-height:1.18;font-weight:700}.hero-description{margin:0;max-width:68ch;color:var(--muted);font-size:1.05rem;line-height:1.9}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;width:fit-content;padding:6px 12px;border-radius:999px;border:1px solid transparent;color:var(--text);font-size:.86rem;font-weight:700}.chip--blue{background:var(--primary);color:var(--primary-ink)}.chip--pink{background:var(--soft-pink);color:var(--soft-pink-ink)}.chip--mint{background:var(--tertiary);color:var(--tertiary-ink)}.hero-panel{display:grid;gap:10px;padding:18px 20px;border-radius:var(--radius-md);background:var(--surface-soft);border:1px solid var(--line)}.hero-panel__label{margin:0;color:var(--muted-strong);font-size:.88rem;font-weight:700}.hero-panel__text{margin:0;color:var(--muted);line-height:1.8}.hero-panel__meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted-strong);font-size:.88rem}.section-block{margin-top:24px;display:grid;gap:18px}.section-heading{display:grid;gap:8px}.section-heading h2{margin:0;font-family:var(--heading-font);font-size:1.55rem;line-height:1.28}.section-heading p{margin:0;max-width:68ch;color:var(--muted)}.empty-state{display:grid;justify-items:center;gap:14px;padding:28px 24px;text-align:center;background:var(--surface-soft)}.empty-state__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--primary);color:var(--primary-ink);font-size:1.5rem;font-weight:700}.empty-state__title{margin:0;font-size:1.1rem;font-weight:700}.empty-state__text{margin:0;color:var(--muted)}.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ghost-card{display:grid;gap:12px;min-height:210px;padding:16px;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--surface-soft)}.ghost-thumb{aspect-ratio:16 / 9;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.ghost-line{height:12px;border-radius:999px;background:var(--line)}.ghost-line--short{width:58%}.ghost-line--title{height:16px;width:84%}.ghost-line--meta{width:42%}.reserve-slot{min-height:120px;padding:20px;display:grid;gap:10px;align-content:center;background:var(--surface-soft);border-style:dashed}.reserve-slot__label{margin:0;color:var(--muted-strong);font-size:.88rem;font-weight:700;letter-spacing:.08em}.reserve-slot__text{margin:0;color:var(--muted)}.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.post-card{display:flex;flex-direction:column;min-height:100%;color:inherit;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.post-card:hover,.post-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-strong)}.post-card__thumb{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface-soft)}.post-card__thumb img{width:100%;height:100%;object-fit:cover}.post-card__thumb-fallback{display:grid;place-items:center;height:100%;padding:18px;text-align:center;color:var(--muted-strong)}.post-card__thumb-fallback span{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.86rem;font-weight:700}.post-card__body{display:grid;gap:10px;padding:16px 16px 0}.post-card__category{display:inline-flex;align-items:center;width:fit-content;padding:5px 10px;border-radius:999px;background:var(--primary);color:var(--primary-ink);font-size:.8rem;font-weight:700}.post-card__title{margin:0;font-family:var(--heading-font);font-size:1.15rem;line-height:1.45;font-weight:700}.post-card__excerpt{margin:0;color:var(--muted);font-size:.96rem;line-height:1.8}.post-card__meta{margin-top:auto;padding:14px 16px 16px;color:var(--muted-strong);font-size:.88rem}.page-shell{max-width:840px;margin:0 auto;padding:28px}.page-shell h1{margin:0 0 16px;font-family:var(--heading-font);font-size:2.1rem;line-height:1.22}.page-shell h2,.article-content h2{margin:2em 0 .75em;font-family:var(--heading-font);font-size:1.45rem;line-height:1.3}.page-shell h3,.article-content h3{margin:1.6em 0 .6em;font-family:var(--heading-font);font-size:1.18rem;line-height:1.35}.page-shell p,.page-shell li,.article-content p,.article-content li{color:var(--text)}.page-shell p,.article-content p{margin:1em 0}.page-shell ul,.page-shell ol,.article-content ul,.article-content ol{margin:1em 0;padding-left:1.35em}.page-shell li,.article-content li{margin:.4em 0}.page-shell a,.article-content a{color:#2f6c9f;text-decoration-thickness:1px;text-underline-offset:.16em}.page-shell a:hover,.article-content a:hover{text-decoration:none}.page-shell blockquote,.article-content blockquote,.callout{margin:1.5em 0;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--primary-ink);border-radius:var(--radius-md);background:var(--surface-soft)}.callout--pink{border-left-color:var(--soft-pink-ink);background:var(--soft-pink)}.callout--mint{border-left-color:var(--tertiary-ink);background:var(--tertiary)}.callout--blue{border-left-color:var(--primary-ink);background:var(--primary)}.page-shell figure,.article-content figure{margin:1.5em 0}.page-shell figcaption,.article-content figcaption{margin-top:10px;color:var(--muted-strong);font-size:.88rem;line-height:1.6}.page-shell hr,.article-content hr{margin:2em 0;border:0;border-top:1px solid var(--line)}.article-shell{max-width:840px;margin:0 auto;padding:28px}.article-shell__breadcrumb{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;color:var(--muted-strong);font-size:.88rem}.article-shell__breadcrumb a{color:inherit;text-decoration:none}.article-shell__breadcrumb a:hover,.article-shell__breadcrumb a:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:.16em}.article-category{display:inline-flex;align-items:center;width:fit-content;padding:5px 10px;border-radius:999px;background:var(--primary);color:var(--primary-ink);font-size:.82rem;font-weight:700}.article-title{margin:14px 0 12px;font-family:var(--heading-font);font-size:2.5rem;line-height:1.2;font-weight:700}.article-meta{margin:0;color:var(--muted-strong);font-size:.94rem}.article-summary{margin:18px 0 0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text);font-size:1.04rem;line-height:1.9}.article-cover{margin:22px 0 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--surface-soft)}.article-cover img{width:100%;aspect-ratio:16 / 9;object-fit:cover}.article-cover__placeholder{min-height:320px;display:grid;place-items:center;padding:28px;text-align:center;color:var(--muted-strong)}.article-cover__placeholder span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-weight:700}.article-content{margin-top:22px;font-size:1.05rem;line-height:1.95}.article-content>:first-child{margin-top:0}.article-content>:last-child{margin-bottom:0}.article-content img{border-radius:var(--radius-md);border:1px solid var(--line)}.article-reserve{margin-top:28px;display:grid;gap:12px}.section-kicker{margin:0;color:var(--muted-strong);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.related-section{margin-top:32px;display:grid;gap:16px}.related-section h2{margin:0;font-family:var(--heading-font);font-size:1.45rem;line-height:1.3}.related-section .post-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:fit-content;padding:11px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.button:hover,.button:focus-visible{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:var(--shadow)}.button--primary{background:var(--primary);color:var(--primary-ink)}.button--pink{background:var(--soft-pink);color:var(--soft-pink-ink)}.button--mint{background:var(--tertiary);color:var(--tertiary-ink)}.not-found-panel{display:grid;gap:18px;justify-items:center;max-width:760px;margin:0 auto;padding:30px 24px;text-align:center}.not-found-illustration{width:min(100%,340px)}.not-found-title{margin:0;font-family:var(--heading-font);font-size:1.9rem;line-height:1.25;font-weight:700}.not-found-text{margin:0;max-width:56ch;color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:var(--surface-soft)}.footer-shell{display:grid;gap:12px;padding:24px 0 28px;color:var(--muted)}.footer-brand{margin:0;font-family:var(--heading-font);color:var(--text);font-size:1.05rem;font-weight:700}.footer-note{margin:4px 0 0;color:var(--muted-strong)}.footer-links{display:flex;flex-wrap:wrap;gap:12px}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover,.footer-links a:focus-visible{color:var(--text);text-decoration:underline;text-underline-offset:.16em}.footer-copy{margin:4px 0 0;color:var(--muted-strong);font-size:.88rem}.notice{padding:16px 18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-soft)}@media(max-width:900px){.site-shell{width:min(var(--site-max),calc(100% - 24px))}.header-shell{flex-direction:column;align-items:flex-start}.site-nav{justify-content:flex-start}.hero-card,.page-shell,.article-shell{padding:24px}.hero-title{font-size:2.4rem}}@media(max-width:640px){.site-shell{width:min(var(--site-max),calc(100% - 20px))}.site-main{padding:16px 0 48px}.header-shell{align-items:stretch;gap:8px;padding:10px 0}.header-shell .brand{width:100%;max-width:100%;gap:10px}.brand-mark{width:38px;height:38px;border-radius:12px;font-size:.9rem}.brand-copy{min-width:0}.brand-name{font-size:1.05rem;line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}.brand-subtitle{font-size:.76rem;line-height:1.3}.site-nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;justify-content:stretch}.site-nav__link--mobile-hidden{display:none}.site-nav__link{justify-content:center;min-height:32px;padding:5px 8px;font-size:.84rem;line-height:1.2;text-align:center;white-space:nowrap}.hero-card,.page-shell,.article-shell,.not-found-panel{padding:20px}.hero-title{font-size:2rem}.hero-description,.section-heading p,.article-summary,.article-content{font-size:1rem}.section-heading h2,.related-section h2{font-size:1.28rem}.article-title{font-size:2rem}.page-shell h1{font-size:1.8rem}.future-grid,.post-grid{grid-template-columns:1fr}.button{width:100%}}@media(max-width:360px){.site-shell{width:min(var(--site-max),calc(100% - 16px))}.header-shell{gap:7px;padding:9px 0}.header-shell .brand{gap:8px}.brand-mark{width:34px;height:34px;border-radius:11px;font-size:.82rem}.site-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.site-nav__link{min-height:30px;padding:4px 5px;font-size:.78rem;letter-spacing:0}.brand-name{font-size:.95rem;line-height:1.22}.brand-subtitle{font-size:.72rem}}
