:root{--color-paper:oklch(97.5% .012 95);--color-paper-2:oklch(94.5% .02 95);--color-surface:oklch(99.5% .004 95);--color-ink:oklch(27% .02 250);--color-ink-2:oklch(48% .015 250);--color-rule:oklch(88% .02 95);--color-link:oklch(47% .14 240);--color-focus:oklch(47% .14 240);--color-pear:oklch(88% .16 95);--color-coral:oklch(64% .19 25);--color-cat-pear:oklch(93% .07 95);--color-cat-sky:oklch(93% .045 235);--color-cat-mint:oklch(93% .055 150);--color-cat-lilac:oklch(93% .04 305);--shadow-card:0 10px 28px -16px oklch(27% .02 250/.25);--shadow-card-hover:0 16px 34px -16px oklch(27% .02 250/.32);--font-display:"M PLUS Rounded 1c", "Zen Maru Gothic", sans-serif;--font-body:"Zen Maru Gothic", sans-serif;--font-num:"Plus Jakarta Sans", "Zen Maru Gothic", sans-serif;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-3xl:7rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-prose:1.0625rem;--text-md:1.125rem;--text-lg:1.375rem;--text-xl:clamp(1.375rem, 2.6vw, 1.75rem);--text-2xl:clamp(1.5rem, 3.4vw, 2.25rem);--rule-hair:1px;--rule-strong:2px;--radius-card:20px;--radius-img:14px;--radius-pill:999px;--page-max:72rem;--measure:40rem;--page-gutter:var(--space-sm);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-short:.16s}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.85}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;min-width:0;word-break:auto-phrase;text-wrap:balance;font-style:normal;font-weight:800}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--dur-short) var(--ease-out)}a:hover{color:var(--color-link)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{left:var(--space-sm);top:calc(var(--space-3xl) * -1);z-index:10;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);position:absolute}.skip-link:focus{top:var(--space-sm)}main{width:min(100% - var(--page-gutter) * 2, var(--page-max));padding-bottom:var(--space-2xl);margin-inline:auto}.prose{margin-top:var(--space-lg);font-size:var(--text-prose);line-height:1.95}.prose>*+*{margin-top:var(--space-md)}.prose p{margin-bottom:0}.prose p,.prose li{text-wrap:pretty}.prose>:first-child{margin-top:0}.prose h2{margin:var(--space-xl) 0 0;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-img);background:var(--color-paper-2);font-size:var(--text-lg);line-height:1.5}.prose h3,.prose h4{margin:var(--space-lg) 0 0;font-size:var(--text-md);line-height:1.5}.prose a{color:var(--color-link);text-underline-offset:.2em}.prose a:hover{text-decoration-thickness:var(--rule-strong)}.prose a[rel~=sponsored]:after{content:"（広告）";margin-left:var(--space-3xs);font-size:var(--text-xs);color:var(--color-ink-2)}.prose img{border-radius:var(--radius-img);max-height:28rem;margin-inline:auto}.prose ul,.prose ol{padding-left:var(--space-md)}.prose li+li{margin-top:var(--space-3xs)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2xs) var(--space-xs);border:var(--rule-hair) solid var(--color-rule);text-align:left;vertical-align:top}.prose th,.prose tr:first-child td{background:var(--color-paper-2)}.prose blockquote{padding-left:var(--space-md);border-left:var(--space-3xs) solid var(--color-rule);color:var(--color-ink-2);margin-inline:0}.prose iframe{max-width:100%}.prose em,.prose i{font-style:normal;font-weight:700}.prose p.caption{margin-top:calc(var(--space-xs) * -1);font-size:var(--text-xs);color:var(--color-ink-2);text-align:center}.prose p.caption em{font-weight:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;transform:none!important}}.num,.meta__date{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:600}.section-title{margin:0 0 var(--space-md);font-size:var(--text-xl);line-height:1.4}.chip,.chips a{align-items:center;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-xs);white-space:nowrap;font-weight:700;line-height:1.5;text-decoration:none;display:inline-flex}.chip--pear{background:var(--color-cat-pear)}.chip--sky{background:var(--color-cat-sky)}.chip--mint{background:var(--color-cat-mint)}.chip--lilac{background:var(--color-cat-lilac)}a.chip,.chips a{transition:background-color var(--dur-short) var(--ease-out)}@media (hover:hover) and (pointer:fine){a.chip:hover,.chips a:hover{color:var(--color-ink);background:var(--color-pear)}}.chip--lg{padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm)}.chip__count{font-family:var(--font-num);color:var(--color-ink-2);font-weight:600}.meta{align-items:center;gap:var(--space-2xs) var(--space-xs);font-size:var(--text-xs);color:var(--color-ink-2);flex-wrap:wrap;margin:0;line-height:1.5;display:flex}.head{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-lg);width:min(100% - var(--page-gutter) * 2, var(--page-max));margin:0 auto var(--space-lg);padding-block:var(--space-md) var(--space-sm);flex-wrap:wrap;display:flex}.head__logo{align-items:flex-start;gap:var(--space-3xs);font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.01em;white-space:nowrap;line-height:1;text-decoration:none;display:inline-flex}.head__dot{border-radius:var(--radius-pill);background:var(--color-coral);width:.38em;height:.38em}.head__nav ul{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.head__nav a{padding:var(--space-3xs) var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out);font-weight:700;line-height:1.6;text-decoration:none;display:inline-block}@media (hover:hover) and (pointer:fine){.head__nav a:hover{color:var(--color-ink);border-color:var(--color-pear);background:var(--color-cat-pear)}}.head__nav a[aria-current=page]{border-color:var(--color-pear);background:var(--color-pear)}.tile{border-radius:var(--radius-card);background:var(--color-surface);height:100%;box-shadow:var(--shadow-card);transition:transform var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (hover:hover) and (pointer:fine){.tile:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.tile:hover .tile__title a{color:var(--color-link)}}.tile__media{aspect-ratio:4/3;overflow:hidden}.tile__media--pear{background:var(--color-cat-pear)}.tile__media--sky{background:var(--color-cat-sky)}.tile__media--mint{background:var(--color-cat-mint)}.tile__media--lilac{background:var(--color-cat-lilac)}.tile__media img{object-fit:cover;width:100%;height:100%}.tile__placeholder{height:100%;font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);color:var(--color-ink-2);place-items:center;display:grid}.tile__body{gap:var(--space-xs);padding:var(--space-sm) var(--space-md) var(--space-md);flex-direction:column;flex:1;display:flex}.tile__title{font-size:var(--text-md);margin:0;line-height:1.55}.tile__title a{text-decoration:none}.tile__title a:after{content:"";border-radius:var(--radius-card);position:absolute;inset:0}.tile__title a:focus-visible{outline:none}.tile:has(.tile__title a:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.tile .meta{margin-top:auto}.tile__excerpt{font-size:var(--text-sm);color:var(--color-ink-2);margin:0;line-height:1.8}.tile--xl .tile__media{aspect-ratio:16/10}.tile--xl .tile__title{font-size:var(--text-xl);line-height:1.45}.tile--wide{grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.tile--wide .tile__media{aspect-ratio:auto;min-height:7.5rem;position:relative}.tile--wide .tile__media img{position:absolute;inset:0}.tile--wide .tile__body{padding:var(--space-sm)}.tile--wide .tile__title{font-size:var(--text-base)}.bento{gap:var(--space-md);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.bento__item--xl{grid-area:span 2/span 2}.bento__item--wide{grid-column:span 2}.explore{margin-top:var(--space-2xl)}.explore__list{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.cards{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.listing-header{margin-bottom:var(--space-lg)}.listing-header h1{font-size:var(--text-2xl);margin:0;line-height:1.3}.listing-header p{margin:var(--space-2xs) 0 0;font-size:var(--text-sm);color:var(--color-ink-2)}.pagination{justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-xl);font-family:var(--font-num);font-weight:600;font-size:var(--text-sm);flex-wrap:wrap;display:flex}.pagination ol{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.pagination a,.pagination span[aria-current]{min-width:2.5rem;height:2.5rem;padding-inline:var(--space-xs);border-radius:var(--radius-pill);white-space:nowrap;place-items:center;text-decoration:none;display:inline-grid}.pagination a{background:var(--color-surface);border:var(--rule-hair) solid var(--color-rule)}@media (hover:hover) and (pointer:fine){.pagination a:hover{color:var(--color-ink);background:var(--color-cat-pear)}}.pagination span[aria-current]{background:var(--color-pear)}.post{max-width:var(--measure);margin-inline:auto}.post__header .meta{font-size:var(--text-sm)}.post__title{margin:var(--space-xs) 0 0;font-size:var(--text-2xl);line-height:1.4}.post__hero{margin:var(--space-md) 0 0}.post__hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-img);width:100%;max-height:40vh}.post__hero figcaption{margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--color-ink-2)}.post--page .prose{margin-top:var(--space-lg)}.tags,.chips{gap:var(--space-2xs);margin:var(--space-xl) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tags a{font-size:var(--text-sm);color:var(--color-link);text-decoration:none}.tags a:hover{text-decoration:underline}.post__nav{gap:var(--space-sm);margin-top:var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.post__nav a{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-card);background:var(--color-paper-2);font-size:var(--text-sm);transition:background-color var(--dur-short) var(--ease-out);font-weight:700;line-height:1.6;text-decoration:none;display:block}@media (hover:hover) and (pointer:fine){.post__nav a:hover{color:var(--color-ink);background:var(--color-cat-pear)}}.post__nav a[rel=next]{text-align:right}.head__nav a:active,a.chip:active,.chips a:active,.pagination a:active,.post__nav a:active{color:var(--color-ink);border-color:var(--color-pear);background:var(--color-pear)}.post__nav span{margin-bottom:var(--space-3xs);font-size:var(--text-xs);color:var(--color-ink-2);font-weight:500;display:block}.related{margin-top:var(--space-2xl)}.notfound{max-width:var(--measure);margin-inline:auto}.notfound__code{font-family:var(--font-num);font-size:var(--text-2xl);color:var(--color-ink-2);margin:0}.notfound h1{margin:var(--space-2xs) 0 0;font-size:var(--text-xl)}.notfound a{color:var(--color-link)}.archive{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.archive__label{margin:var(--space-lg) 0 0;font-size:var(--text-md)}.archive__label:first-child{margin-top:0}.archive .chips{margin-top:var(--space-sm)}.archive__year h2{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-2xl);margin:0}.archive__year+.archive__year{margin-top:var(--space-xl)}.archive__month h3{margin:var(--space-md) 0 var(--space-2xs);font-size:var(--text-md)}.archive__month h3 a{text-decoration:none}.archive__month ul{margin:0;padding:0;list-style:none}.archive__month li{gap:var(--space-sm);padding-block:var(--space-3xs);font-size:var(--text-sm);display:flex}.archive__month time{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--color-ink-2);flex:none;font-weight:600}.archive__month li a{text-decoration:none}.foot{margin-top:var(--space-2xl);background:var(--color-paper-2)}.foot__inner{width:min(100% - var(--page-gutter) * 2, var(--page-max));padding-block:var(--space-2xl) var(--space-xl);margin-inline:auto}.foot__statement{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);letter-spacing:-.01em;word-break:auto-phrase;text-wrap:balance;margin:0;line-height:1.4}.foot__links{gap:var(--space-xs) var(--space-lg);margin:var(--space-lg) 0 0;font-size:var(--text-sm);flex-wrap:wrap;padding:0;font-weight:700;list-style:none;display:flex}.foot__links a{white-space:nowrap}.foot__note{margin:var(--space-lg) 0 0;font-size:var(--text-xs);color:var(--color-ink-2)}@media (width<=63.99rem){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento__item--xl{grid-row:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=39.99rem){.bento,.cards{gap:var(--space-sm);grid-template-columns:minmax(0,1fr)}.bento__item--xl,.bento__item--wide{grid-column:auto}.bento__item--card .tile,.cards .tile{grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.bento__item--card .tile__media,.cards .tile__media{aspect-ratio:auto;min-height:7.5rem;position:relative}.bento__item--card .tile__media img,.cards .tile__media img{position:absolute;inset:0}.bento__item--card .tile__body,.cards .tile__body{padding:var(--space-sm)}.bento__item--card .tile__title,.cards .tile__title{font-size:var(--text-base)}.head{margin-bottom:var(--space-md)}.post__nav{grid-template-columns:minmax(0,1fr)}.post__nav a[rel=next]{text-align:left}.archive{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.tile:hover{transform:none}}
