:root{--paper:#fbf7ed;--paper-deep:#efe5d3;--surface:#fffdf7;--ink:#26231f;--ink-soft:#56504a;--muted:#756c62;--line:#d9ccba;--indigo:#233a52;--indigo-soft:#dfe8ee;--vermilion:#a94332;--vermilion-soft:#f4dfd9;--shadow:0 16px 42px #26231f1a;--font-sans:"BIZ UDPGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-serif:"Yu Mincho", "Hiragino Mincho ProN", serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans);scroll-behavior:smooth}body{min-width:320px;margin:0}body:before{z-index:-2;content:"";background:linear-gradient(#fbf7ede6,#fbf7edf5),repeating-linear-gradient(90deg,#233a520a 0 1px,#0000 1px 22px),repeating-linear-gradient(0deg,#a9433206 0 1px,#0000 1px 24px);position:fixed;inset:0}a{color:inherit;text-underline-offset:.2em;text-decoration-color:#a9433280;text-decoration-thickness:.08em}a:hover{color:var(--vermilion)}img{max-width:100%;display:block}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.skip-link{z-index:20;background:var(--ink);color:var(--surface);border-radius:6px;padding:10px 14px;transition:transform .16s;position:absolute;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(1120px,100% - 32px);margin-inline:auto}.site-header{z-index:10;backdrop-filter:blur(14px);background:#fbf7edeb;border-bottom:1px solid #d9ccbad1;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:24px;min-height:72px;display:flex}.site-logo{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.site-logo__mark{background:var(--surface);width:34px;height:34px;color:var(--vermilion);font-family:var(--font-serif);border:1px solid #26231fb3;border-radius:50%;place-items:center;line-height:1;display:grid}.site-nav{align-items:center;gap:4px;display:flex}.site-nav a,.mobile-nav__panel a{color:var(--muted);border-radius:6px;padding:10px 12px;font-size:.94rem;font-weight:700;text-decoration:none}.site-nav a[aria-current=page],.site-nav a:hover,.mobile-nav__panel a[aria-current=page],.mobile-nav__panel a:hover{background:var(--vermilion-soft);color:var(--vermilion)}.mobile-nav{display:none;position:relative}.mobile-nav summary{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{background:var(--ink);width:18px;height:2px;display:block}.mobile-nav__panel{border:1px solid var(--line);background:var(--surface);width:min(260px,100vw - 32px);box-shadow:var(--shadow);border-radius:8px;gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.site-footer{border-top:1px solid var(--line);background:#fffdf7b8;margin-top:78px}.site-footer__inner{color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;padding:34px 0;font-size:.94rem;display:grid}.site-footer strong{color:var(--ink);margin-bottom:8px;display:block}.footer-nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;display:flex}.copyright{color:var(--muted);grid-column:1/-1;margin:0}.eyebrow{color:var(--vermilion);letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 14px;font-size:.78rem;font-weight:800;display:inline-flex}.eyebrow:before{background:var(--indigo);content:"";width:28px;height:2px}.home-hero{background:linear-gradient(115deg, #fbf7edfa 0%, #fbf7edeb 56%, #dfe8eec7 100%), var(--paper);grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);align-items:center;gap:40px;min-height:clamp(560px,78svh,760px);padding:70px max(16px,50vw - 560px) 58px;display:grid;position:relative;overflow:hidden}.home-hero:after{background:linear-gradient(90deg, var(--indigo), var(--vermilion), var(--paper-deep));content:"";opacity:.72;height:10px;position:absolute;bottom:0;left:0;right:0}.home-hero__content{z-index:1;max-width:720px;position:relative}.home-hero h1{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(3.2rem,8vw,6.4rem);font-weight:700;line-height:1.02}.home-hero p{max-width:640px;color:var(--ink-soft);margin:22px 0 0;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.86}.hero-lead{border-left:4px solid var(--vermilion);padding-left:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:800;text-decoration:none;display:inline-flex}.button--primary{background:var(--vermilion);color:#fffdf7}.button--primary:hover{color:#fffdf7;background:#873628}.button--ghost,.button--secondary{border-color:var(--line);color:var(--indigo);background:#fffdf7a8}.button--ghost:hover,.button--secondary:hover{background:var(--indigo-soft);color:var(--indigo)}.hero-ink{z-index:1;background:linear-gradient(#fffdf7eb,#efe5d394);border:1px solid #233a5224;min-height:420px;position:relative;box-shadow:inset 0 0 0 12px #fffdf761}.hero-ink__sun,.hero-ink__mountain,.hero-ink__mountain--back,.hero-ink__road,.hero-ink__figure{position:absolute}.hero-ink__sun{background:#a9433229;border-radius:50%;width:78px;height:78px;top:46px;right:62px}.hero-ink__mountain{clip-path:polygon(0 100%,28% 24%,48% 72%,64% 42%,100% 100%);background:#233a524d;width:88%;height:180px;bottom:98px;right:22px}.hero-ink__mountain--back{background:#233a5229;width:92%;height:190px;bottom:128px;right:0}.hero-ink__road{clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:#a943322e;width:34%;height:170px;bottom:0;left:30%}.hero-ink__figure{background:var(--ink);border-radius:12px 12px 4px 4px;width:20px;bottom:56px}.hero-ink__figure:before{background:var(--ink);content:"";border-radius:50%;width:18px;height:18px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.hero-ink__figure--parent{height:78px;left:42%}.hero-ink__figure--child{width:16px;height:56px;bottom:54px;left:50%}.section{padding-top:72px}.section--tinted{background:#fffdf79e;border-block:1px solid #d9ccbab8;margin-top:72px;padding:64px 0}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px;display:flex}.section-heading h2{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(2rem,4vw,3.05rem);line-height:1.16}.section-heading p{max-width:560px;color:var(--muted);margin:0;line-height:1.85}.article-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.article-card,.category-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-height:100%;display:flex;box-shadow:0 10px 28px #26231f0f}.article-card{gap:0;padding:0;overflow:hidden}.category-card{gap:14px;padding:22px}.article-thumbnail{aspect-ratio:4/3;object-fit:contain;background:#f3ecdc;border-bottom:1px solid #32281e2e;width:100%;display:block}.article-card__body{flex-direction:column;flex:1;gap:14px;padding:22px;display:flex}.article-card:hover,.category-card:hover{border-color:#a943326b;box-shadow:0 12px 32px #26231f17}.article-card h3,.category-card h3{letter-spacing:0;margin:0;font-size:1.28rem;line-height:1.45}.article-card h3 a,.category-card h3 a{color:var(--ink);text-decoration-color:#a9433270}.article-series-label{color:var(--vermilion);margin:0;font-size:.82rem;font-weight:800;line-height:1.4}.article-card__body>p:not(.article-series-label),.category-card p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.8;display:-webkit-box;overflow:hidden}.category-card span{color:var(--indigo);margin-top:auto;font-weight:800}.article-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:.86rem;display:flex}.article-meta a{color:var(--indigo);font-weight:800}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li,.tag{min-height:28px;color:var(--indigo);background:#233a5212;border:1px solid #233a522e;border-radius:999px;align-items:center;padding:4px 9px;font-size:.8rem;font-weight:800;display:inline-flex}.tag-list a{color:inherit;text-decoration:none}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.series-callout{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:24px 0 30px;display:flex}.series-callout h2{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.28}.series-callout p:not(.eyebrow){max-width:680px;color:var(--muted);margin:12px 0 0;line-height:1.85}.series-stage+.series-stage{margin-top:56px}.series-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.series-list__item a{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:18px;padding:20px;text-decoration:none;display:grid;box-shadow:0 8px 24px #26231f0d}.series-list__item a:hover{color:inherit;border-color:#a943326b;box-shadow:0 10px 28px #26231f14}.series-list__number{background:var(--vermilion-soft);min-height:36px;color:var(--vermilion);border:1px solid #a9433257;border-radius:6px;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:inline-flex}.series-list__content{gap:8px;min-width:0;display:grid}.series-list__content strong{color:var(--ink);font-size:1.16rem;line-height:1.55}.series-list__content>span:not(.article-meta){color:var(--muted);line-height:1.75}.profile-summary{border-top:4px solid var(--indigo);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px;display:grid}.profile-summary h2{font-family:var(--font-serif);margin:0;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.26}.profile-summary p{max-width:760px;color:var(--muted);margin:14px 0 0;line-height:1.86}.page-header{padding:64px 0 30px}.page-header h1{max-width:840px;font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.08}.page-header p{max-width:760px;color:var(--muted);margin:20px 0 0;font-size:1.06rem;line-height:1.9}.breadcrumbs{color:var(--muted);margin-bottom:28px;font-size:.9rem}.breadcrumbs ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{color:var(--line);content:"/";margin-left:8px}.article-shell{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:52px;padding-top:58px;display:grid}.article-main{min-width:0}.article-header{border-bottom:1px solid var(--line);padding-bottom:30px}.article-header h1{font-family:var(--font-serif);letter-spacing:0;margin:16px 0 0;font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.14}.article-header p{max-width:760px;color:var(--muted);margin:18px 0 16px;font-size:1.06rem;line-height:1.9}.article-hero{background:#f3ecdc;border:1px solid #32281e2e;border-radius:8px;width:min(100%,760px);height:auto;margin:1.5rem auto 2rem;display:block}.article-aside{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;padding:18px;position:sticky;top:96px}.article-aside h2{color:var(--ink);margin:0 0 12px;font-size:.95rem}.article-aside a{color:var(--muted);padding:8px 0;font-size:.92rem;text-decoration:none;display:block}.article-aside a:hover{color:var(--vermilion)}.toc-nav{margin-top:18px}.affiliate-disclosure,.placeholder-panel,.note-panel{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:28px;padding:22px;box-shadow:0 8px 26px #26231f12}.affiliate-disclosure{border-left:4px solid var(--vermilion);background:linear-gradient(135deg,#fffdf7f5,#f4dfd95c)}.affiliate-disclosure strong{color:var(--vermilion);letter-spacing:0;margin-bottom:8px;font-size:1.04rem;display:block}.affiliate-disclosure p,.placeholder-panel p,.note-panel p{color:var(--muted);margin:0;line-height:1.8}.affiliate-disclosure p+p{margin-top:6px}.ad-slot{border-top:1px solid #d9ccbab3;border-bottom:1px solid #d9ccbab3;width:100%;max-width:100%;margin:48px 0;padding:14px 0;overflow:hidden}.ad-slot--home{margin:52px 0 0}.ad-slot__label{color:var(--muted);letter-spacing:.08em;margin-bottom:8px;font-size:.78rem;font-weight:800}.ad-slot__unit{width:100%;max-width:100%;min-height:0;display:block;overflow:hidden}.product-list{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.product-list .section-heading{align-items:flex-start}.product-list .section-heading>p{max-width:620px;color:var(--muted);margin:0;line-height:1.85}.product-list__items{gap:16px;margin-top:22px;display:grid}.product-card{border:1px solid var(--line);background:#fffdf7e6;border-radius:8px;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:18px;padding:18px;display:grid;box-shadow:0 8px 26px #26231f0f}.product-card__image{aspect-ratio:4/3;object-fit:contain;background:#f3ecdc;border:1px solid #32281e24;border-radius:6px;width:100%}.product-card__body{min-width:0}.product-card h3{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:1.22rem;line-height:1.4}.product-card p{color:var(--muted);margin:10px 0 0;line-height:1.8}.product-card__note{border-left:3px solid var(--line);padding-left:12px;font-size:.94rem}.product-card__actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.product-link{background:var(--indigo);color:#fffdf7;border:1px solid #233a5233;border-radius:6px;justify-content:center;align-items:center;min-height:42px;padding:9px 14px;font-size:.93rem;font-weight:800;text-decoration:none;display:inline-flex}.product-link:hover{color:#fffdf7;background:var(--vermilion)}.product-link--rakuten{background:var(--vermilion);border-color:#a943323d}.product-link--rakuten:hover{background:var(--indigo)}.recommended-items{margin-top:34px}.recommended-items__group+.recommended-items__group{border-top:1px solid var(--line);margin-top:52px;padding-top:36px}.comments-section{border-top:1px solid var(--line);border-bottom:1px solid #d9ccbab3;margin-top:64px;padding:34px 0 10px}.comments-section__intro h2{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(1.8rem,3.4vw,2.55rem);line-height:1.28}.comments-section__intro p:not(.eyebrow){max-width:760px;color:var(--muted);margin:16px 0 0;line-height:1.9}.comments-rules{border:1px solid #233a522e;border-left:4px solid var(--indigo);background:#fffdf7c7;border-radius:8px;margin-top:26px;padding:20px 22px}.comments-rules h3{letter-spacing:0;margin:0 0 12px;font-size:1rem}.comments-rules ul{color:var(--muted);margin:0;padding-left:1.2em;line-height:1.8}.comments-rules li+li{margin-top:.25em}.comments-rules a{color:var(--indigo);margin-top:14px;font-weight:800;display:inline-flex}.comments-embed{width:100%;max-width:100%;margin-top:32px;overflow-x:hidden}.comments-embed hyvor-talk-comments{max-width:100%;display:block}.comments-notice{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;margin:26px 0 0;padding:16px 18px;line-height:1.8}.series-nav{border-top:1px solid var(--line);border-bottom:1px solid #d9ccbab3;margin-top:52px;padding:30px 0}.series-nav h2{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.3}.series-nav__groups{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.series-nav__group{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fffdf7a3;border-radius:6px;align-items:center;padding:6px 11px;font-size:.88rem;font-weight:800;display:inline-flex}.series-nav__group.is-current{background:var(--vermilion-soft);color:var(--vermilion);border-color:#a943325c}.series-nav__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.series-nav__link{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;gap:8px;min-height:118px;padding:18px;text-decoration:none;display:flex}.series-nav__link:hover{color:inherit;border-color:#a943326b}.series-nav__link span{color:var(--muted);font-size:.84rem;font-weight:800}.series-nav__link strong{color:var(--ink);line-height:1.55}.series-nav__link--next{text-align:right}.series-nav__link--empty{color:var(--muted)}.placeholder-panel h2,.note-panel h2{margin:0 0 12px;font-size:1.25rem}.prose{margin-top:34px;font-size:1.05rem;line-height:2}.prose h2{font-family:var(--font-serif);letter-spacing:0;margin:2.15em 0 .7em;padding-top:.2em;font-size:1.76rem;line-height:1.35}.prose h3{margin:2em 0 .6em;font-size:1.25rem}.prose p,.prose ul,.prose ol{margin:0 0 1.25em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose blockquote{border-left:4px solid var(--indigo);color:var(--muted);background:#233a5214;margin:1.8em 0;padding:18px 20px}.prose table{border-collapse:collapse;width:100%;margin:1.6em 0;font-size:.95rem;line-height:1.7}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.prose th{color:var(--indigo);background:#233a5214;font-weight:800}.prose a{color:var(--vermilion);font-weight:700}.about-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:start;gap:32px;display:grid}.about-prose{margin-top:0}.not-found{min-height:58svh;padding-top:86px}.not-found h1{font-family:var(--font-serif);margin:0;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1.05}.not-found p{max-width:640px;color:var(--muted);line-height:1.85}@media (width<=900px){.desktop-nav{display:none}.mobile-nav{display:block}.home-hero,.article-list,.category-grid,.article-shell,.about-grid,.profile-summary{grid-template-columns:1fr}.home-hero{gap:22px;min-height:auto;padding-top:56px}.hero-ink{min-height:300px}.article-aside{position:static}}@media (width<=620px){.site-shell{width:min(100% - 24px,1120px)}.site-header__inner{min-height:64px}.site-logo{font-size:.96rem}.home-hero{padding-inline:12px;padding-bottom:44px}.home-hero h1{font-size:3.2rem}.home-hero p{font-size:1rem}.hero-ink{min-height:250px}.section,.page-header{padding-top:50px}.section--tinted{margin-top:52px;padding:46px 0}.section-heading,.site-footer__inner{display:block}.footer-nav{justify-content:flex-start;margin-top:18px}.series-callout{display:block}.series-callout .button{margin-top:18px}.series-list__item a{grid-template-columns:1fr}.series-list__number{width:fit-content;padding:6px 11px}.category-card,.profile-summary,.placeholder-panel,.note-panel,.comments-rules,.affiliate-disclosure,.product-card,.article-card__body{padding:18px}.ad-slot{margin:40px 0}.product-card{grid-template-columns:1fr}.product-card__image{max-height:260px}.product-card__actions,.product-link{width:100%}.comments-section{margin-top:48px;padding-top:28px}.series-nav__links{grid-template-columns:1fr}.series-nav__link--next{text-align:left}.prose table{white-space:nowrap;display:block;overflow-x:auto}}
