:root{--font-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--font-display:"Zen Maru Gothic", "Noto Sans JP", "Yu Gothic UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--fs-caption:13px;--fs-body:16px;--fs-lead:17px;--fs-h4:16px;--fs-h3:18px;--fs-h2:22px;--fs-h1:26px;--fs-btn:16px;--lh-tight:1.4;--lh-snug:1.55;--lh-body:1.85;--lh-loose:2;--ls-body:.02em;--ls-display:.005em;--ls-btn:.04em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:20px;--r-xl:28px;--r-full:9999px;--sh-card:0 1px 2px #24342e0a, 0 6px 18px #3c5a4b0f;--sh-elevated:0 2px 6px #24342e0d, 0 18px 40px #3c5a4b1a;--sh-clay:0 8px 20px -6px #50786438, 0 2px 0 #ffffff8c inset, 0 -3px 8px #5078640d inset;--sh-press:0 1px 0 #24342e1a, 0 2px 4px #24342e0f;--bp-mobile:599px;--bp-tablet:1023px;--bp-desktop:1024px;--article-max:720px}@media (width>=1024px){:root{--fs-body:17px;--fs-lead:19px;--fs-h4:17px;--fs-h3:20px;--fs-h2:26px;--fs-h1:34px;--article-max:860px}}[data-palette=mint],:root{--c-bg:#f8faf8;--c-bg-warm:#faf7f1;--c-surface:#fff;--c-surface-2:#f2efe7;--c-primary-50:#ebf5f0;--c-primary-100:#d5e9de;--c-primary-300:#8fcab1;--c-primary-500:#4fa98a;--c-primary-700:#2e7a60;--c-primary-900:#1b5443;--c-accent-100:#faefd3;--c-accent-300:#e8c679;--c-accent-500:#d9a441;--c-accent-700:#a87520;--c-ink-900:#1f2a26;--c-ink-700:#3f4d49;--c-ink-500:#6b7872;--c-ink-300:#a6afab;--c-border:#e2e8e4;--c-border-strong:#c9d3cd;--c-link:#2e7a60;--c-link-hover:#1b5443;--c-success:#4fa98a;--c-warning:#d9a441;--c-danger:#c25a4a;--c-mark:#fff3c6}[data-palette=sage]{--c-bg:#f8f6f0;--c-bg-warm:#f5f1e6;--c-surface:#fff;--c-surface-2:#efeadc;--c-primary-50:#f0f2ec;--c-primary-100:#dce3d2;--c-primary-300:#a8b698;--c-primary-500:#7a8f69;--c-primary-700:#4e6240;--c-primary-900:#344028;--c-accent-100:#f4e8cc;--c-accent-300:#debe7c;--c-accent-500:#c99a4b;--c-accent-700:#94701e;--c-ink-900:#232b22;--c-ink-700:#46504a;--c-ink-500:#6f7768;--c-ink-300:#a8ae9f;--c-border:#e0e3d9;--c-border-strong:#c5ccb7;--c-link:#4e6240;--c-link-hover:#344028;--c-success:#7a8f69;--c-warning:#c99a4b;--c-danger:#b75b4b;--c-mark:#fbefb8}[data-palette=pale]{--c-bg:#fbfcfa;--c-bg-warm:#faf6ec;--c-surface:#fff;--c-surface-2:#f4f0e2;--c-primary-50:#f2faf6;--c-primary-100:#ddf0e7;--c-primary-300:#a8d5c5;--c-primary-500:#6bb99e;--c-primary-700:#2f8a6e;--c-primary-900:#1a5e48;--c-accent-100:#fcf1d9;--c-accent-300:#efcb8a;--c-accent-500:#d7a24a;--c-accent-700:#9f721c;--c-ink-900:#1f2926;--c-ink-700:#3d4a45;--c-ink-500:#6e7b75;--c-ink-300:#aab3ae;--c-border:#e6eee9;--c-border-strong:#c8d9d0;--c-link:#2f8a6e;--c-link-hover:#1a5e48;--c-success:#6bb99e;--c-warning:#d7a24a;--c-danger:#c25a4a;--c-mark:#fff4ce}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-ink-900);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img{max-width:100%;height:auto;display:block}a{color:inherit}.site-bar{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:50;position:sticky;top:0}.site-bar-inner{max-width:1200px;padding:var(--sp-3) var(--sp-5);align-items:center;gap:var(--sp-4);margin:0 auto;display:flex}.site-logo{font-family:var(--font-display);color:var(--c-ink-900);align-items:center;gap:var(--sp-2);font-size:18px;font-weight:900;text-decoration:none;display:inline-flex}.site-logo-mark{background:linear-gradient(135deg, var(--c-primary-300), var(--c-primary-500));color:#fff;width:28px;height:28px;box-shadow:var(--sh-clay);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.site-nav{align-items:center;gap:var(--sp-5);margin-left:auto;display:flex}.site-nav a{color:var(--c-ink-700);padding:var(--sp-1) 0;font-size:14px;font-weight:600;text-decoration:none;position:relative}.site-nav a:hover{color:var(--c-primary-700)}.site-nav a.is-pickup{color:var(--c-accent-700)}.site-nav a.is-pickup:before{content:"★";color:var(--c-accent-500);margin-right:4px;font-size:10px}.site-nav-mobile-btn{cursor:pointer;background:0 0;border:0;padding:6px;display:none}.site-nav-mobile-btn svg{width:22px;height:22px;stroke:var(--c-ink-900)}@media (width<=768px){.site-nav{display:none}.site-nav-mobile-btn{margin-left:auto;display:inline-flex}}.site-nav-drawer{z-index:100;background:#1f2a2680;display:none;position:fixed;inset:0}.site-nav-drawer.is-open{display:block}.site-nav-drawer-panel{background:var(--c-surface);width:min(80vw,320px);padding:var(--sp-6);gap:var(--sp-3);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0}.site-nav-drawer a{padding:var(--sp-3) 0;color:var(--c-ink-900);border-bottom:1px solid var(--c-border);font-weight:700;text-decoration:none}.header-image,.header-image-header,#header .header-logo-image,.site-header-image{display:none!important}#container>br,#main>br,.wrap>br,img:not([src]),img[src=""]{display:none}.article-mock{font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);color:var(--c-ink-900);background:var(--c-bg)}.entry-content{max-width:var(--article-max);padding:var(--sp-5) var(--sp-5) var(--sp-16);margin:0 auto}@media (width>=1024px){.entry-content{padding:var(--sp-10) 0 var(--sp-20)}}.cat-label{align-items:center;gap:var(--sp-2);border-radius:var(--r-full);background:var(--c-primary-100);color:var(--c-primary-900);font-size:var(--fs-caption);letter-spacing:.06em;padding:4px 12px;font-weight:700;display:inline-flex}.cat-label:before{content:"";background:var(--c-primary-700);border-radius:50%;width:6px;height:6px}.entry-content h1,.article-mock h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);letter-spacing:var(--ls-display);color:var(--c-ink-900);margin:var(--sp-4) 0 var(--sp-4);text-wrap:pretty}.lead{font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--c-ink-700);margin:var(--sp-6) 0 var(--sp-8);padding:var(--sp-5) var(--sp-5);background:var(--c-primary-50);border-radius:var(--r-md);border-left:4px solid var(--c-primary-500)}.entry-content h2,.article-mock h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-snug);letter-spacing:var(--ls-display);color:var(--c-ink-900);margin:var(--sp-16) 0 var(--sp-6);padding:var(--sp-2) 0 var(--sp-3) var(--sp-4);border-left:6px solid var(--c-primary-500);border-bottom:1px solid var(--c-border);position:relative}:where([data-h2=filled]) .entry-content h2,:where([data-h2=filled]) .article-mock h2,.entry-content[data-h2=filled] h2,.article-mock[data-h2=filled] h2{background:linear-gradient(90deg, var(--c-primary-50), transparent 90%);padding:var(--sp-3) var(--sp-4) var(--sp-3) var(--sp-5);border-radius:0 var(--r-md) var(--r-md) 0;border-bottom:none;border-left:6px solid var(--c-primary-500)}:where([data-h2=numbered]) .entry-content h2,:where([data-h2=numbered]) .article-mock h2,.entry-content[data-h2=numbered] h2,.article-mock[data-h2=numbered] h2{border-left:none;border-bottom:1px solid var(--c-border-strong);padding:0 0 var(--sp-3) 0;counter-increment:h2-count;align-items:end;gap:var(--sp-3);grid-template-columns:auto 1fr;display:grid}:where([data-h2=numbered]) .entry-content h2:before,:where([data-h2=numbered]) .article-mock h2:before,.entry-content[data-h2=numbered] h2:before,.article-mock[data-h2=numbered] h2:before{content:counter(h2-count, decimal-leading-zero);font-family:var(--font-display);color:var(--c-accent-500);letter-spacing:.08em;background:var(--c-accent-100);border-radius:var(--r-sm);align-self:center;padding:4px 10px;font-size:.7em;line-height:1}:where([data-h2=numbered]) .entry-content,:where([data-h2=numbered]) .article-mock,.entry-content[data-h2=numbered],.article-mock[data-h2=numbered]{counter-reset:h2-count}:where([data-h2=numbered]) .entry-content h2.no-counter,:where([data-h2=numbered]) .article-mock h2.no-counter,.entry-content[data-h2=numbered] h2.no-counter,.article-mock[data-h2=numbered] h2.no-counter{counter-increment:none;grid-template-columns:1fr}:where([data-h2=numbered]) .entry-content h2.no-counter:before,:where([data-h2=numbered]) .article-mock h2.no-counter:before,.entry-content[data-h2=numbered] h2.no-counter:before,.article-mock[data-h2=numbered] h2.no-counter:before{content:none}.entry-content h3,.article-mock h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug);color:var(--c-ink-900);margin:var(--sp-10) 0 var(--sp-4);padding-left:var(--sp-3);position:relative}.entry-content h3:before,.article-mock h3:before{content:"";background:var(--c-accent-500);border-radius:2px;width:4px;position:absolute;top:.35em;bottom:.35em;left:0}.entry-content h4,.article-mock h4{font-family:var(--font-sans);font-size:var(--fs-h4);color:var(--c-ink-900);margin:var(--sp-6) 0 var(--sp-3);font-weight:700}.entry-content h4:before,.article-mock h4:before{content:"◆ ";color:var(--c-primary-500);font-size:.85em}.entry-content p,.article-mock p{margin:0 0 var(--sp-5);line-height:var(--lh-body)}.entry-content p>img:only-child,.article-mock p>img:only-child{object-fit:contain;border-radius:var(--r-md);width:100%;max-width:100%;height:auto;max-height:560px;box-shadow:var(--sh-card);margin:var(--sp-6) auto;background:var(--c-bg-warm);display:block}@media (width<=599px){.entry-content p>img:only-child,.article-mock p>img:only-child{max-height:64vh}}.entry-content p:has(>img:only-child),.article-mock p:has(>img:only-child){margin:var(--sp-6) 0}.entry-content p:has(>img:only-child+br+small),.article-mock p:has(>img:only-child+br+small){text-align:center}.entry-content p>img+br+small,.article-mock p>img+br+small{margin-top:var(--sp-2);font-size:var(--fs-caption);color:var(--c-ink-500);line-height:var(--lh-snug);display:inline-block}.entry-content a,.article-mock a{color:var(--c-link);text-decoration:underline;text-decoration-color:var(--c-primary-300);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:color .15s,text-decoration-color .15s}.entry-content a:hover,.article-mock a:hover{color:var(--c-link-hover);text-decoration-color:var(--c-link-hover)}.entry-content mark,.article-mock mark{background:linear-gradient(transparent 60%, var(--c-mark) 60%);color:inherit;padding:0 2px}.entry-content blockquote,.article-mock blockquote{margin:var(--sp-6) 0;padding:var(--sp-5) var(--sp-6);background:var(--c-bg-warm);border-left:4px solid var(--c-border-strong);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--c-ink-700);font-size:.96em;position:relative}.entry-content blockquote:before,.article-mock blockquote:before{content:"“";color:var(--c-border-strong);pointer-events:none;font-family:Georgia,serif;font-size:56px;line-height:1;position:absolute;top:-8px;left:12px}.entry-content blockquote cite,.article-mock blockquote cite{margin-top:var(--sp-3);padding-top:var(--sp-2);border-top:1px dashed var(--c-border);color:var(--c-ink-500);font-size:12px;font-style:normal;display:block}.entry-content blockquote cite:before,.article-mock blockquote cite:before{content:"— "}.entry-content blockquote.rituka-quote,.article-mock blockquote.rituka-quote{background:var(--c-primary-50);border-left-color:var(--c-primary-500);color:var(--c-ink-900)}.entry-content blockquote.rituka-quote:before,.article-mock blockquote.rituka-quote:before{content:"律";font-family:var(--font-display);background:var(--c-primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:flex;top:14px;left:16px}.entry-content blockquote.rituka-quote,.article-mock blockquote.rituka-quote{padding-left:56px}.entry-content ul,.article-mock ul,.entry-content ol,.article-mock ol{margin:var(--sp-4) 0 var(--sp-6);padding-left:var(--sp-6)}.entry-content ul li,.article-mock ul li{margin-bottom:var(--sp-2);list-style:none;position:relative}.entry-content ul li:before,.article-mock ul li:before{content:"";background:var(--c-primary-300);width:8px;height:8px;box-shadow:0 0 0 3px var(--c-primary-50);border-radius:50%;position:absolute;top:.6em;left:-20px}.speech-wrap.rituka-speech{gap:var(--sp-4);margin:var(--sp-8) 0;grid-template-columns:64px 1fr;align-items:start;display:grid}@media (width>=768px){.speech-wrap.rituka-speech{gap:var(--sp-5);grid-template-columns:80px 1fr}}.rituka-speech .speech-person{align-items:center;gap:var(--sp-2);flex-direction:column;display:flex}.rituka-speech .speech-icon{width:64px;height:64px;box-shadow:var(--sh-clay);background:var(--c-primary-100);border-radius:50%;margin:0;overflow:hidden}@media (width>=768px){.rituka-speech .speech-icon{width:80px;height:80px}}.rituka-speech .speech-icon img{object-fit:cover;width:100%;height:100%;display:block}.rituka-speech .speech-name{font-family:var(--font-display);font-size:var(--fs-caption);color:var(--c-primary-700);letter-spacing:.04em;font-weight:700}.rituka-speech .speech-balloon{padding:var(--sp-4) var(--sp-5);background:var(--c-primary-50);border-radius:var(--r-lg);border:1px solid var(--c-primary-100);position:relative;box-shadow:0 2px #5078640a}.rituka-speech .speech-balloon p{margin:0 0 var(--sp-2);color:var(--c-ink-900);line-height:var(--lh-snug)}.rituka-speech .speech-balloon p:last-child{margin:0}.rituka-speech .speech-balloon:before,.rituka-speech .speech-balloon:after{content:"";border:10px solid #0000;border-right-color:var(--c-primary-100);border-left:0;width:0;height:0;position:absolute;top:22px;left:-10px}.rituka-speech .speech-balloon:after{border-right-color:var(--c-primary-50);left:-8px}.cta-block{margin:var(--sp-8) 0;align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.btn.btn-rituka,a.btn.btn-rituka{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;max-width:480px;padding:var(--sp-4) var(--sp-6);background:linear-gradient(180deg, var(--c-accent-500) 0%, var(--c-accent-700) 100%);color:#fff;font-family:var(--font-sans);font-size:var(--fs-btn);letter-spacing:var(--ls-btn);border-radius:var(--r-full);font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 2px #0000000f,inset 0 1px #ffffff40,0 8px 20px -6px #a8752073}.btn.btn-rituka:after{content:"→";margin-left:var(--sp-1);font-size:1.15em;font-weight:700;transition:transform .25s cubic-bezier(.2,.7,.2,1)}.btn.btn-rituka:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:inset 0 2px #0000000f,inset 0 1px #ffffff40,0 14px 26px -8px #a875208c}.btn.btn-rituka:hover:after{transform:translate(4px)}.btn.btn-rituka:active{filter:brightness(.98);transform:translateY(0)}.cta-micro{font-size:var(--fs-caption);color:var(--c-ink-500);align-items:center;gap:var(--sp-1);display:inline-flex}.cta-micro:before{content:"✓";color:var(--c-primary-500);font-weight:700}[data-cta=mint] .btn.btn-rituka{background:linear-gradient(180deg, var(--c-primary-500), var(--c-primary-700));box-shadow:inset 0 2px #0000000f,inset 0 1px #ffffff40,0 8px 20px -6px #2e7a6066}[data-cta=bold] .btn.btn-rituka{background:linear-gradient(135deg, var(--c-accent-500) 0%, #e27d3f 100%);font-size:calc(var(--fs-btn) + 1px);padding:var(--sp-5) var(--sp-6)}[data-cta=bold] .btn.btn-rituka:before{content:"無料・3分";border-radius:var(--r-sm);letter-spacing:.04em;margin-right:var(--sp-2);background:#ffffff38;padding:3px 8px;font-size:11px;font-weight:700}[data-cta=bold] .cta-micro{display:none}.cta-stack{gap:var(--sp-3);flex-direction:column;width:100%;max-width:480px;margin:0 auto;display:flex}.cta-stack .btn.btn-rituka{width:100%}.cta-stack .btn.btn-secondary{background:var(--c-surface);color:var(--c-primary-700);border:2px solid var(--c-primary-500);box-shadow:0 2px 0 var(--c-primary-100)}.cta-stack .btn.btn-secondary:after{content:"→"}.related-wrap{margin:var(--sp-8) 0}.related-label{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--fs-caption);color:var(--c-primary-700);background:var(--c-primary-50);border-radius:var(--r-full) var(--r-full) var(--r-full) 0;margin-bottom:var(--sp-2);padding:4px 14px 4px 10px;font-weight:700;display:inline-flex}.related-label:before{content:"";background:var(--c-primary-500);width:14px;height:14px;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M19 3H8a2 2 0 0 0-2 2v3H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-2h2a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-4 16H4v-9h2v6a2 2 0 0 0 2 2h7v1zm4-4H8V5h11v10z'/></svg>") 50%/contain no-repeat}.blogcard-wrap{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);color:inherit;box-shadow:var(--sh-card);grid-template-columns:96px 1fr;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid}@media (width>=768px){.blogcard-wrap{gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);grid-template-columns:140px 1fr}}.blogcard-wrap:hover{border-color:var(--c-primary-300);box-shadow:var(--sh-elevated);transform:translateY(-1px)}.blogcard-wrap[href=""],.blogcard-wrap:not([href]),.blogcard-wrap[href=\#]{opacity:.72;border-style:dashed;border-color:var(--c-border-strong);cursor:not-allowed;pointer-events:none;background:repeating-linear-gradient(45deg, var(--c-surface) 0 8px, var(--c-bg-warm) 8px 16px)}.blogcard-wrap[href=""]:after,.blogcard-wrap:not([href]):after,.blogcard-wrap[href=\#]:after{content:"リンク準備中";color:var(--c-ink-500);background:var(--c-surface);border-radius:var(--r-sm);border:1px solid var(--c-border);padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:8px;right:10px}.blogcard-wrap{position:relative}.blogcard-thumbnail{aspect-ratio:4/3;border-radius:var(--r-sm);background:var(--c-primary-100);overflow:hidden}.blogcard-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.blogcard-content{flex-direction:column;gap:4px;min-width:0;display:flex}.blogcard-title{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:var(--lh-snug);color:var(--c-ink-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;text-decoration:none;display:-webkit-box;overflow:hidden}.blogcard-snippet{font-size:var(--fs-caption);color:var(--c-ink-500);line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.compare-wrap{margin:var(--sp-8) 0;border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);position:relative;overflow:hidden}.compare-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.compare-wrap:after{content:"";pointer-events:none;opacity:1;background:linear-gradient(90deg,#fff0 0%,#ffffffa6 60%,#fffffff2 100%);width:36px;transition:opacity .2s;position:absolute;top:0;bottom:0;right:0}.compare-wrap.scrolled-end:after{opacity:0}@media (width>=768px){.compare-wrap:after{display:none}}table.compare-table{border-collapse:collapse;width:100%;min-width:560px;font-size:14.5px}table.compare-table th,table.compare-table td{padding:var(--sp-3) var(--sp-3);text-align:center;border-bottom:1px solid var(--c-border);vertical-align:middle}table.compare-table thead th{background:var(--c-primary-700);color:#fff;font-family:var(--font-display);letter-spacing:.04em;padding:var(--sp-3) var(--sp-2);font-size:14px;font-weight:700}table.compare-table thead th:first-child{background:var(--c-primary-900)}table.compare-table tbody th{background:var(--c-surface-2);color:var(--c-ink-900);font-family:var(--font-display);text-align:left;padding-left:var(--sp-4);white-space:nowrap;font-weight:700}table.compare-table tbody tr:last-child th,table.compare-table tbody tr:last-child td{border-bottom:none}table.compare-table tr.recommended th,table.compare-table tr.recommended td{background:var(--c-primary-50);position:relative}table.compare-table tr.recommended th{border-left:4px solid var(--c-accent-500);padding-left:calc(var(--sp-4) - 4px)}.rec-badge{color:#fff;background:var(--c-accent-500);border-radius:var(--r-full);margin-left:var(--sp-2);letter-spacing:.04em;vertical-align:middle;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.rec-badge:before{content:"★";font-size:10px}.mark-best{color:var(--c-accent-700);font-size:1.1em;font-weight:700}.mark-good{color:var(--c-primary-700);font-size:1.05em;font-weight:700}.mark-fair{color:var(--c-ink-500);font-weight:700}.mark-poor{color:var(--c-ink-300);font-weight:700}.compare-hint{color:var(--c-ink-500);background:var(--c-bg-warm);text-align:center;border-top:1px dashed var(--c-border);padding:8px 12px;font-size:12px}@media (width>=768px){.compare-hint{display:none}}.campaign-banner{margin:var(--sp-6) 0 var(--sp-8);padding:var(--sp-5) var(--sp-5) var(--sp-5) var(--sp-6);background:radial-gradient(120% 100% at 100% 0%, #d9a4411a 0%, transparent 50%), linear-gradient(135deg, var(--c-primary-50) 0%, var(--c-bg-warm) 100%);border-radius:var(--r-lg);border:1px solid var(--c-primary-100);gap:var(--sp-3);box-shadow:var(--sh-card);grid-template-columns:1fr;display:grid;position:relative;overflow:hidden}@media (width>=768px){.campaign-banner{padding:var(--sp-6) var(--sp-8);grid-template-columns:1fr auto;align-items:center}}.campaign-badge{letter-spacing:.08em;color:#fff;background:linear-gradient(135deg, var(--c-accent-500), var(--c-accent-700));border-radius:var(--r-sm);text-transform:uppercase;align-items:center;gap:6px;width:fit-content;padding:4px 10px 4px 8px;font-size:11px;font-weight:700;display:inline-flex}.campaign-badge:before{content:"";background:#fff;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #fff6}.campaign-title{font-family:var(--font-display);color:var(--c-ink-900);margin:4px 0 0;font-size:19px;font-weight:700;line-height:1.4}.campaign-title em{color:var(--c-accent-700);margin:0 2px;font-size:1.3em;font-style:normal}.campaign-meta{font-size:var(--fs-caption);color:var(--c-ink-500);align-items:center;gap:var(--sp-2);display:flex}.campaign-meta strong{color:var(--c-ink-900);font-weight:700}.campaign-cta{padding:var(--sp-3) var(--sp-5);background:var(--c-ink-900);color:#fff;border-radius:var(--r-full);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.campaign-cta:after{content:"→"}.campaign-cta:hover{background:var(--c-primary-700)}.campaign-banner:before{content:"";pointer-events:none;background:radial-gradient(circle at 35% 35%,#fff6,#8fcab12e 60%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-40px;right:-40px}.faq-block{margin:var(--sp-6) 0;gap:var(--sp-3);flex-direction:column;display:flex}.faq-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5)}.faq-q{color:var(--c-ink-900);gap:var(--sp-2);font-weight:700;line-height:var(--lh-snug);grid-template-columns:24px 1fr;align-items:start;display:grid}.faq-q:before{content:"Q";font-family:var(--font-display);background:var(--c-primary-700);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:inline-flex}.faq-a{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--c-border);gap:var(--sp-2);color:var(--c-ink-700);font-size:14.5px;line-height:var(--lh-snug);grid-template-columns:24px 1fr;display:grid}.faq-a:before{content:"A";font-family:var(--font-display);background:var(--c-accent-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:inline-flex}.faq-a p{margin:0}.top-hero{background:radial-gradient(120% 88% at 100% 0%, var(--c-primary-50) 0%, #fff0 62%), linear-gradient(158deg, var(--c-bg-warm) 0%, var(--c-primary-50) 100%);border-bottom:1px solid var(--c-border);position:relative;overflow:clip}.top-hero .top-hero-inner{box-sizing:border-box;width:100%;max-width:1120px;padding:var(--sp-6) clamp(18px, 5.2vw, 48px) var(--sp-8);margin:0 auto}.top-hero .top-hero-inner>*{min-width:0;max-width:100%}.top-hero .top-hero-badge{align-items:center;gap:var(--sp-2);border-radius:var(--r-full);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-card);letter-spacing:.02em;color:var(--c-ink-700);margin:0;padding:5px 14px;font-size:clamp(11px,3vw,13px);font-weight:700;line-height:1.6;display:inline-flex}.top-hero .top-hero-badge:before{content:"";background:var(--c-primary-500);border-radius:50%;flex:none;width:7px;height:7px}.top-hero .top-hero-body{min-width:0;container-type:inline-size}.top-hero .top-hero-title{font-family:var(--font-display);letter-spacing:.005em;color:var(--c-ink-900);margin:var(--sp-4) 0 0;background:0 0;border:0;padding:0;font-size:clamp(22px,6.4vw,42px);font-weight:900;line-height:1.44}@supports (container-type:inline-size){.top-hero .top-hero-title{font-size:clamp(20px,7.8cqw,42px)}}.top-hero .top-hero-title .th-u{display:inline-block}.top-hero .th-nw{white-space:nowrap}.top-hero .top-hero-title em{color:var(--c-primary-700);background:linear-gradient(transparent 64%, var(--c-primary-100) 64%);font-style:normal}.top-hero .top-hero-lead{margin:var(--sp-4) 0 0;max-width:32em;letter-spacing:var(--ls-body);color:var(--c-ink-700);background:0 0;border:0;padding:0;font-size:clamp(14px,3.8vw,17px);line-height:1.9}.top-hero .top-hero-points{gap:var(--sp-2);margin:var(--sp-5) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.top-hero .top-hero-points li{border-radius:var(--r-full);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-card);color:var(--c-ink-700);align-items:center;gap:6px;margin:0;padding:6px 13px;font-size:clamp(12px,3.2vw,13px);font-weight:700;line-height:1.7;display:inline-flex}.top-hero .top-hero-points li:before{content:"✓";width:auto;height:auto;color:var(--c-primary-700);background:0 0;border-radius:0;flex:none;margin:0;font-weight:900;position:static}.top-hero .top-hero-cta{align-items:stretch;gap:var(--sp-3);margin:var(--sp-6) 0 0;flex-direction:column;display:flex}.top-hero .top-hero-cta .th-btn{justify-content:center;align-items:center;gap:var(--sp-2);box-sizing:border-box;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-full);font-family:var(--font-sans);font-size:var(--fs-btn);letter-spacing:var(--ls-btn);text-align:center;border:0;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.top-hero .top-hero-cta .th-btn:after{content:"→";font-weight:700;transition:transform .25s cubic-bezier(.2,.7,.2,1)}.top-hero .top-hero-cta .th-btn:hover:after{transform:translate(4px)}.top-hero .top-hero-cta .th-btn-primary{background:linear-gradient(180deg, var(--c-primary-500) 0%, var(--c-primary-700) 100%);color:#fff;box-shadow:inset 0 2px #0000000f,inset 0 1px #ffffff40,0 8px 20px -6px #2e7a6066}.top-hero .top-hero-cta .th-btn-primary:hover{filter:brightness(1.04);transform:translateY(-1px)}.top-hero .top-hero-cta .th-btn-primary:active{filter:brightness(.98);transform:translateY(0)}.top-hero .top-hero-cta .th-btn-ghost{padding:var(--sp-2) var(--sp-3);color:var(--c-primary-700);font-size:var(--fs-caption);box-shadow:none;background:0 0}.top-hero .top-hero-cta .th-btn-ghost:hover{color:var(--c-primary-900);text-decoration:underline}.top-hero .top-hero-author{align-items:center;gap:var(--sp-3);margin:var(--sp-6) 0 0;padding-top:var(--sp-5);border-top:1px solid var(--c-border);display:flex}.top-hero .top-hero-author img{object-fit:cover;background:var(--c-primary-100);width:44px;height:44px;box-shadow:var(--sh-clay);border-radius:50%;flex:none;margin:0}.top-hero .top-hero-author p{font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--c-ink-500);background:0 0;margin:0;padding:0}.top-hero .top-hero-author strong{color:var(--c-ink-900);font-weight:700;display:block}.top-hero .top-hero-art{display:none}@media (width>=600px){.top-hero .top-hero-inner{padding-top:var(--sp-10);padding-bottom:var(--sp-12);grid-template-columns:minmax(0,1fr) minmax(0,32%);align-items:center;gap:clamp(20px,4vw,48px);display:grid}.top-hero .top-hero-cta{flex-flow:wrap;align-items:center}.top-hero .top-hero-cta .th-btn-ghost{font-size:var(--fs-body)}.top-hero .top-hero-art{justify-self:end;width:100%;max-width:300px;display:block}.top-hero .top-hero-art img{width:100%;height:auto;margin:0}}@media (width>=1024px){.top-hero .top-hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,34%)}.top-hero .top-hero-art{max-width:380px}}@media (prefers-reduced-motion:reduce){.top-hero .top-hero-cta .th-btn,.top-hero .top-hero-cta .th-btn:after{transition:none}}.contact-page{box-sizing:border-box;max-width:680px;padding:var(--sp-8) clamp(18px, 5.2vw, 32px) var(--sp-16);margin:0 auto}.contact-page .contact-title{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:900;line-height:var(--lh-tight);color:var(--c-ink-900);margin:0 0 var(--sp-5)}.contact-page .contact-intro{margin:0 0 var(--sp-5);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-ink-700)}.contact-page .contact-intro strong{color:var(--c-ink-900);font-weight:700}.contact-page .contact-notes{margin:0 0 var(--sp-8);padding:var(--sp-4) var(--sp-5);background:var(--c-primary-50);border-radius:var(--r-md);border-left:4px solid var(--c-primary-500);font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--c-ink-700);list-style:none}.contact-page .contact-notes li{padding-left:var(--sp-4);margin:0;position:relative}.contact-page .contact-notes li+li{margin-top:var(--sp-2)}.contact-page .contact-notes li:before{content:"・";color:var(--c-primary-700);position:absolute;left:0}.contact-page .contact-form{gap:var(--sp-6);flex-direction:column;display:flex}.contact-page .field{gap:var(--sp-2);flex-direction:column;display:flex}.contact-page .field>label{align-items:center;gap:var(--sp-2);font-size:var(--fs-caption);color:var(--c-ink-900);font-weight:700;display:flex}.contact-page .req,.contact-page .opt{border-radius:var(--r-full);letter-spacing:.04em;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.contact-page .req{background:var(--c-primary-100);color:var(--c-primary-900)}.contact-page .opt{background:var(--c-surface-2);color:var(--c-ink-500)}.contact-page input[type=text],.contact-page input[type=email],.contact-page select,.contact-page textarea{box-sizing:border-box;width:100%;padding:var(--sp-3) var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-sm);font-family:var(--font-sans);font-size:16px;line-height:var(--lh-snug);color:var(--c-ink-900);transition:border-color .15s,box-shadow .15s}.contact-page textarea{resize:vertical;min-height:180px;line-height:var(--lh-body)}.contact-page input:focus-visible,.contact-page select:focus-visible,.contact-page textarea:focus-visible{border-color:var(--c-primary-500);box-shadow:0 0 0 3px var(--c-primary-100);outline:none}:is(.contact-page input:user-invalid,.contact-page select:user-invalid,.contact-page textarea:user-invalid){border-color:var(--c-danger)}.contact-page .hint{font-size:var(--fs-caption);line-height:var(--lh-snug);color:var(--c-ink-500);margin:0}.contact-page .field-check{align-items:flex-start;gap:var(--sp-3);flex-direction:row}.contact-page .field-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--c-primary-500);flex:none;margin:2px 0 0}.contact-page .field-check label{font-size:var(--fs-caption);font-weight:400;line-height:var(--lh-snug);color:var(--c-ink-700)}.contact-page .field-check a{color:var(--c-link);text-decoration:underline}.contact-page .field-check a:hover{color:var(--c-link-hover)}.contact-page .contact-submit{min-width:200px;padding:var(--sp-4) var(--sp-8);border-radius:var(--r-full);background:linear-gradient(180deg, var(--c-primary-500) 0%, var(--c-primary-700) 100%);color:#fff;font-family:var(--font-sans);font-size:var(--fs-btn);letter-spacing:var(--ls-btn);cursor:pointer;border:0;align-self:flex-start;font-weight:700;transition:transform .15s,filter .15s;box-shadow:inset 0 2px #0000000f,inset 0 1px #ffffff40,0 8px 20px -6px #2e7a6066}.contact-page .contact-submit:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.contact-page .contact-submit:active:not(:disabled){filter:brightness(.98);transform:translateY(0)}.contact-page .contact-submit:disabled{opacity:.6;cursor:progress;transform:none}@media (width<=599px){.contact-page .contact-submit{align-self:stretch;width:100%}}.contact-page .contact-status{margin:0 0 var(--sp-6);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);font-size:var(--fs-body);line-height:var(--lh-snug)}.contact-page .contact-status.is-ok{background:var(--c-primary-50);border-left:4px solid var(--c-primary-500);color:var(--c-primary-900)}.contact-page .contact-status.is-ng{border-left:4px solid var(--c-danger);color:#7e3327;background:#fbedea}.contact-page .contact-result{padding:var(--sp-8) var(--sp-6);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-card)}.contact-page .contact-result h1,.contact-page .contact-result-actions{text-align:center}.contact-page .contact-result h1{font-family:var(--font-display);font-size:var(--fs-h2);margin:0 0 var(--sp-4);color:var(--c-ink-900);font-weight:900}.contact-page .contact-result p{margin:0 0 var(--sp-4);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-ink-700)}.contact-page .contact-result.is-ok h1:before{content:"✓ ";color:var(--c-primary-500)}.contact-page .contact-result.is-ng h1:before{content:"! ";color:var(--c-danger)}.contact-page .contact-result-actions{margin:var(--sp-6) 0 0}.contact-page .contact-result-actions .th-btn{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-full);font-weight:700;text-decoration:none;display:inline-flex}.contact-page .contact-result-actions .th-btn-primary{background:linear-gradient(180deg, var(--c-primary-500) 0%, var(--c-primary-700) 100%);color:#fff}.contact-page .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (prefers-reduced-motion:reduce){.contact-page .contact-submit,.contact-page input,.contact-page select,.contact-page textarea{transition:none}}.page-wrap{max-width:760px;padding:var(--sp-8) var(--sp-5) var(--sp-16);margin:0 auto}.page-wrap-wide{max-width:1200px}.page-head{margin-bottom:var(--sp-8)}.page-head h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:var(--lh-tight);margin:0 0 var(--sp-3);color:var(--c-ink-900)}.page-head p{color:var(--c-ink-700);margin:0}.breadcrumb{font-size:var(--fs-caption);color:var(--c-ink-500);margin-bottom:var(--sp-4);flex-wrap:wrap;gap:6px;display:flex}.breadcrumb a{color:var(--c-ink-500);text-decoration:none}.breadcrumb a:hover{color:var(--c-primary-700);text-decoration:underline}.post-list{gap:var(--sp-4);display:grid}.post-card{gap:var(--sp-4);padding:var(--sp-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex}.post-card:hover{box-shadow:var(--sh-clay);transform:translateY(-2px)}.post-card-thumb{border-radius:var(--r-md);background:var(--c-primary-100);flex:none;width:104px;height:104px;overflow:hidden}.post-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.post-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.post-card-cat{color:var(--c-primary-700);background:var(--c-primary-100);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:11px;font-weight:700}.post-card-title{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:var(--lh-snug);color:var(--c-ink-900);margin:0}.post-card-desc{color:var(--c-ink-700);font-size:13px;line-height:var(--lh-snug);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.post-card-date{color:var(--c-ink-500);margin:0;font-size:12px}@media (width<=520px){.post-card-thumb{width:84px;height:84px}}.cat-tiles{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.cat-tile{padding:var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-ink-900);font-size:14px;font-weight:700;text-decoration:none;display:block}.cat-tile:hover{border-color:var(--c-primary-500);color:var(--c-primary-700)}.cat-tile span{color:var(--c-ink-500);margin-top:4px;font-size:12px;font-weight:400;display:block}.post-header{margin-bottom:var(--sp-6)}.post-header h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:var(--lh-tight);margin:var(--sp-2) 0 var(--sp-3)}.post-meta{gap:var(--sp-3);font-size:var(--fs-caption);color:var(--c-ink-500);flex-wrap:wrap;display:flex}.post-nav{gap:var(--sp-3);margin-top:var(--sp-12);padding-top:var(--sp-6);border-top:1px solid var(--c-border);display:grid}.post-nav a{padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-border);border-radius:var(--r-md);color:var(--c-ink-900);font-size:14px;font-weight:600;text-decoration:none;display:block}.post-nav a:hover{border-color:var(--c-primary-500)}.post-nav small{color:var(--c-ink-500);font-size:12px;font-weight:400;display:block}.site-footer{background:var(--c-surface-alt,#f7f5f0);border-top:1px solid var(--c-border);padding:var(--sp-10) var(--sp-5) var(--sp-8);margin-top:var(--sp-16)}.site-footer-inner{gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));max-width:1000px;margin:0 auto;display:grid}.site-footer h2{font-family:var(--font-display);margin:0 0 var(--sp-3);color:var(--c-ink-900);font-size:14px}.site-footer ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.site-footer a{color:var(--c-ink-700);font-size:13px;text-decoration:none}.site-footer a:hover{color:var(--c-primary-700);text-decoration:underline}.site-footer-note{max-width:1000px;margin:var(--sp-8) auto 0;padding-top:var(--sp-4);border-top:1px solid var(--c-border);color:var(--c-ink-500);font-size:12px;line-height:var(--lh-snug)}.notfound{text-align:center;padding:var(--sp-20) var(--sp-5)}.notfound h1{font-family:var(--font-display);font-size:var(--fs-h1)}.site-logo{white-space:nowrap}.site-nav{gap:var(--sp-4);flex-wrap:nowrap}.site-nav a{white-space:nowrap;font-size:13px}@media (width<=1100px){.site-nav a[data-nav=category]{display:none}}
