:root{--bg: #FFF9E6;--bg-dot: #F7E9B5;--paper: #FFFDF5;--yellow: #F6CF5C;--yellow-soft: #FFF1BF;--pink: #F2A3BA;--pink-soft: #FFE6EE;--text: #4A3F35;--sub: #8A7D70;--line: #F0E2B6;--radius: 18px;--shadow: 0 6px 18px rgba(186, 150, 60, .12);--font: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;--font-en: "Quicksand", var(--font)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);line-height:1.8;letter-spacing:.03em;background-color:var(--bg);background-image:radial-gradient(var(--bg-dot) 1.2px,transparent 1.2px);background-size:22px 22px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.sp-only{display:none}.muted{color:var(--sub)}.demo-bar{background:var(--pink-soft);color:#8c2f4d;font-size:12px;text-align:center;padding:6px 12px}.site-header{background:#fffdf5eb;backdrop-filter:blur(6px);position:sticky;top:0;z-index:40;border-bottom:2px dashed var(--line)}.header-in{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:10px}.logo-mark{width:44px;height:44px}.logo-text{display:flex;flex-direction:column;line-height:1.3}.logo-name{font-weight:700;font-size:22px;letter-spacing:.08em}.logo-name small{font-size:12px;color:var(--sub);font-weight:500;margin-left:2px}.logo-tag{font-size:11px;color:var(--sub)}.gnav{margin-left:auto;display:flex;gap:4px}.gnav a{padding:6px 14px;border-radius:999px;font-size:14px;font-weight:500;transition:background .2s}.gnav a:hover,.gnav a.on{background:var(--yellow-soft)}.header-btns{display:flex;gap:6px}.icon-btn{width:42px;height:42px;border-radius:50%;border:0;background:var(--yellow-soft);color:var(--text);display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--yellow)}.header-search{max-width:640px;margin:0 auto;padding:0 20px 14px}.catnav{border-top:1px solid var(--line)}.catnav-in{max-width:1120px;margin:0 auto;padding:8px 20px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.catnav-in::-webkit-scrollbar{display:none}.catnav a{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 12px;border-radius:999px;background:var(--s);color:var(--k);font-weight:500;border:1.5px solid transparent}.catnav a i{width:8px;height:8px;border-radius:50%;background:var(--c)}.catnav a:hover,.catnav a.on{border-color:var(--c)}.drawer{position:fixed;inset:0;background:#4a3f3559;z-index:60}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,360px);background:var(--paper);padding:24px 22px;overflow-y:auto;border-radius:24px 0 0 24px}.drawer-close{margin-left:auto}.drawer-ttl{font-family:var(--font-en);font-weight:700;letter-spacing:.2em;color:var(--sub);font-size:12px;margin:22px 0 10px}.drawer-links,.drawer-cats{list-style:none;padding:0;margin:12px 0 0}.drawer-links a{display:block;padding:10px 4px;border-bottom:1px dashed var(--line)}.drawer-cats{display:grid;gap:8px}.drawer-cats a{display:flex;gap:8px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--s);color:var(--k);font-weight:500}.drawer-cats i{width:10px;height:10px;border-radius:50%;background:var(--c)}.site-main{min-height:60vh}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:780px;margin:0 auto;padding:0 20px}section.block{padding:56px 0 8px}.sec-title{text-align:center;margin-bottom:28px}.sec-en{display:block;font-family:var(--font-en);font-weight:700;letter-spacing:.3em;font-size:12px;color:var(--sub)}.sec-ja{display:inline-block;margin:4px 0 0;font-size:24px;font-weight:700;position:relative;padding:0 6px;z-index:0}.sec-ja:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:10px;background:var(--c);opacity:.55;border-radius:6px;z-index:-1}.badge{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--s);color:var(--k);border:1.5px solid var(--c);line-height:1.6;white-space:nowrap}.sample-tag{display:inline-block;margin-top:8px;font-size:11px;color:var(--sub);border:1px dashed #D9C79A;border-radius:6px;padding:0 8px}.thumb{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--s)}.thumb>svg{width:100%;height:100%}.thumb-icon{position:absolute;inset:0;display:grid;place-items:center;color:var(--k);opacity:.75}.thumb-sample{position:absolute;right:10px;top:10px;font-family:var(--font-en);font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--k);background:#ffffffb3;padding:1px 8px;border-radius:999px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{position:relative;background:var(--paper);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;border-bottom:5px solid var(--c)}.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #ba963c33}.card-link{position:absolute;inset:0;z-index:2}.card-body{padding:14px 18px 18px}.card-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--sub);font-family:var(--font-en)}.card-title{margin:8px 0 0;font-size:16px;line-height:1.6;font-weight:700}.card.horizontal{display:grid;grid-template-columns:42% 1fr;border-bottom:0;border-left:5px solid var(--c)}.card.horizontal .thumb{aspect-ratio:auto;height:100%;min-height:110px}.more-wrap{text-align:center;margin-top:28px}.more{display:inline-flex;gap:10px;align-items:center;padding:10px 30px;border-radius:999px;background:var(--paper);border:2px solid var(--yellow);font-weight:700;font-size:14px;transition:background .2s}.more:hover{background:var(--yellow-soft)}.searchbox{display:flex;background:#fff;border:2px solid var(--line);border-radius:999px;overflow:hidden}.searchbox:focus-within{border-color:var(--yellow)}.searchbox input{flex:1;border:0;background:transparent;padding:10px 18px;font:inherit;font-size:14px;color:var(--text);outline:none;min-width:0}.searchbox button{border:0;background:var(--yellow);color:var(--text);padding:0 16px;cursor:pointer}.hero{padding:48px 0 24px}.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}.hero-copy .hero-en{font-family:var(--font-en);letter-spacing:.3em;font-size:12px;color:var(--sub);font-weight:700}.hero-copy h1{font-size:clamp(26px,3.6vw,40px);line-height:1.55;margin:10px 0 16px}.hero-copy h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--pink-soft) 62%)}.hero-copy p{color:var(--sub);margin:0 0 22px}.hero-art{position:relative}.hero-art svg{width:100%;height:auto}.pickup{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cat-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cat-grid a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 18px;border-radius:var(--radius);background:var(--s);color:var(--k);border:2px solid transparent;transition:border-color .2s,transform .2s}.cat-grid a:hover{border-color:var(--c);transform:translateY(-2px)}.cat-grid-icon{grid-row:span 2;width:54px;height:54px;border-radius:50%;background:#fff;display:grid;place-items:center;border:2px solid var(--c)}.cat-grid-name{font-weight:700;font-size:16px}.cat-grid-en{font-family:var(--font-en);font-size:11px;letter-spacing:.15em;opacity:.8}.cat-section{margin-top:56px;padding:32px 28px 28px;border-radius:28px;background:var(--s);position:relative}.cat-section-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.cat-section-head .ic{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--k);border:2px solid var(--c);flex:none}.cat-section-head h2{margin:0;font-size:21px;color:var(--k);line-height:1.4}.cat-section-head .en{font-family:var(--font-en);font-size:11px;letter-spacing:.2em;color:var(--k);opacity:.7;display:block}.cat-section-head p{margin:0;font-size:13px;color:var(--k);opacity:.85}.cat-section-head .more-s{margin-left:auto;font-size:13px;font-weight:700;color:var(--k);white-space:nowrap;border-bottom:2px solid var(--c)}.cat-section .more{border-color:var(--c)}.page-head{padding:40px 0 34px;text-align:center;background:var(--s, var(--yellow-soft));border-radius:0 0 40px 40px;margin-bottom:36px}.page-head .ic{width:72px;height:72px;margin:0 auto 10px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--k);border:2px solid var(--c)}.page-head h1{margin:4px 0 6px;font-size:28px;color:var(--k, var(--text))}.page-head p{margin:0;color:var(--k, var(--sub));opacity:.85;font-size:14px}.page-head .en{font-family:var(--font-en);letter-spacing:.3em;font-size:12px;font-weight:700;color:var(--k, var(--sub));opacity:.75}.breadcrumb{font-size:12px;color:var(--sub);padding:14px 0;display:flex;flex-wrap:wrap;gap:6px}.breadcrumb a:hover{text-decoration:underline}.breadcrumb span:before{content:"›";margin-right:6px}.empty{text-align:center;padding:40px;background:var(--paper);border-radius:var(--radius);color:var(--sub)}.post{background:var(--paper);border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.post-head{padding:34px 40px 22px}.post-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--sub);font-family:var(--font-en);flex-wrap:wrap}.post-head h1{font-size:clamp(22px,3vw,30px);line-height:1.6;margin:12px 0 10px}.post-desc{color:var(--sub);font-size:14px;margin:0}.post-notice{margin:16px 0 0;font-size:12px;background:var(--yellow-soft);border-radius:10px;padding:8px 14px}.post-eye .thumb{aspect-ratio:16 / 8}.post-body{padding:10px 40px 40px;font-size:16px;line-height:2}.toc{background:var(--s);border-radius:var(--radius);padding:18px 24px;margin:28px 0 8px;border:2px dashed var(--c)}.toc-ttl{font-weight:700;margin:0 0 6px;color:var(--k);display:flex;align-items:center;gap:8px}.toc-ttl small{font-family:var(--font-en);letter-spacing:.2em;font-size:11px;opacity:.7}.toc ol{margin:0;padding-left:0;list-style:none;counter-reset:toc}.toc li{counter-increment:toc}.toc li.d3{padding-left:2.2em;font-size:14px;counter-increment:none}.toc li a{display:flex;gap:10px;padding:4px 0}.toc li.d2 a:before{content:counter(toc,decimal-leading-zero);font-family:var(--font-en);font-weight:700;color:var(--k);min-width:1.6em}.toc li.d3 a:before{content:"・";color:var(--k)}.toc li a:hover{text-decoration:underline}.prose h2{font-size:21px;margin:48px 0 18px;padding:12px 18px;background:var(--s);border-radius:12px;border-left:6px solid var(--c);line-height:1.6;scroll-margin-top:140px}.prose h3{font-size:18px;margin:32px 0 12px;padding-bottom:6px;border-bottom:2px dotted var(--c);scroll-margin-top:140px}.prose p{margin:0 0 1.4em}.prose ul,.prose ol{padding-left:1.4em}.prose li::marker{color:var(--c)}.prose blockquote{margin:24px 0;padding:16px 22px;background:var(--pink-soft);border-radius:16px;position:relative;font-size:15px}.prose blockquote p:last-child{margin:0}.prose strong{background:linear-gradient(transparent 62%,var(--yellow-soft) 62%)}.prose hr{border:0;border-top:2px dashed var(--line);margin:36px 0}.share{display:flex;gap:10px;align-items:center;justify-content:center;padding:22px;border-top:2px dashed var(--line);flex-wrap:wrap}.share span{font-family:var(--font-en);letter-spacing:.2em;font-size:12px;color:var(--sub);font-weight:700}.share a,.share button{font:inherit;font-size:13px;border:0;padding:8px 18px;border-radius:999px;background:var(--yellow-soft);cursor:pointer;color:var(--text)}.share a:hover,.share button:hover{background:var(--yellow)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.tags a{font-size:12px;padding:2px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--sub)}.tags a:hover{border-color:var(--yellow)}.profile{display:flex;gap:24px;align-items:center;background:var(--paper);border-radius:28px;padding:28px 32px;box-shadow:var(--shadow);border:2px solid var(--pink-soft)}.avatar{flex:none;width:120px;height:120px}.profile.compact .avatar{width:96px;height:96px}.profile-label{margin:0;font-family:var(--font-en);font-size:12px;color:#c76f8c;font-weight:700;letter-spacing:.1em}.profile-name{margin:2px 0 6px;font-weight:700;font-size:18px}.profile-name small{font-size:12px;color:var(--sub);font-weight:500;margin-left:6px}.profile-text{margin:0;font-size:14px;color:var(--text)}.profile-more{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;border-bottom:2px solid var(--pink)}.about-body{background:var(--paper);border-radius:28px;padding:36px 40px;margin-top:28px;box-shadow:var(--shadow)}.timeline{list-style:none;padding:0;margin:0;border-left:3px dotted var(--pink)}.timeline li{padding:0 0 18px 22px;position:relative}.timeline li:before{content:"";position:absolute;left:-9px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--yellow);border:3px solid var(--paper)}.timeline b{display:block;font-family:var(--font-en);color:#c76f8c}.search-count{text-align:center;color:var(--sub);font-size:14px;margin:18px 0 24px}.site-footer{margin-top:90px;color:#fff1bf}.footer-wave svg{width:100%;height:50px}.footer-in,.copy{background:#fff1bf;color:var(--text)}.footer-in{padding:20px max(20px,calc((100% - 1080px)/2)) 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}.footer-name{font-weight:700;font-size:20px;margin:0}.footer-name small{font-size:12px;color:var(--sub)}.footer-tag{font-size:13px;color:var(--sub);margin:0 0 14px}.footer-h{font-weight:700;margin:0 0 10px}.footer-cats,.footer-links{list-style:none;padding:0;margin:0;font-size:14px}.footer-cats li,.footer-links li{padding:3px 0}.footer-cats a{display:inline-flex;align-items:center;gap:8px}.footer-cats i{width:9px;height:9px;border-radius:50%;background:var(--c)}.footer-cats a:hover,.footer-links a:hover{text-decoration:underline}.copy{margin:0;padding:14px;text-align:center;font-size:12px;font-family:var(--font-en);color:var(--sub);border-top:1px dashed #EAD58E}.totop{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:var(--shadow);z-index:30}@media(max-width:960px){.cards,.cat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.gnav{display:none}.sp-only{display:grid}.header-btns{margin-left:auto}.header-in{padding:10px 16px}.logo-mark{width:36px;height:36px}.logo-name{font-size:18px}.logo-tag{font-size:10px}.hero{padding:28px 0 8px}.hero-in{grid-template-columns:1fr;gap:16px}.hero-art{order:-1;max-width:360px;margin:0 auto}.cards{grid-template-columns:1fr;gap:16px}.cards.compact-sp .card{display:grid;grid-template-columns:38% 1fr;border-bottom:0;border-left:5px solid var(--c)}.cards.compact-sp .thumb{aspect-ratio:auto;height:100%;min-height:100px}.cards.compact-sp .thumb-icon svg{width:30px;height:30px}.cards.compact-sp .thumb-sample{display:none}.cards.compact-sp .card-body{padding:10px 14px}.cards.compact-sp .card-title{font-size:14px}.pickup{grid-template-columns:1fr}.cat-grid{grid-template-columns:1fr 1fr;gap:10px}.cat-grid a{grid-template-columns:1fr;text-align:center;justify-items:center;padding:14px 8px}.cat-grid-icon{grid-row:auto;margin-bottom:6px;width:46px;height:46px}.cat-grid-name{font-size:14px;line-height:1.4}.cat-section{padding:24px 16px 20px;border-radius:22px;margin-top:40px}.cat-section-head p{display:none}.post{border-radius:20px}.post-head{padding:24px 20px 16px}.post-body{padding:6px 20px 28px;font-size:15.5px}.prose h2{font-size:18px}.profile{flex-direction:column;text-align:center;padding:24px 20px}.about-body{padding:24px 20px}.footer-in{grid-template-columns:1fr;gap:22px}.sec-ja{font-size:21px}}.breadcrumb span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.thumb-icon svg{width:34px;height:34px}.post-eye .thumb-icon svg{width:56px;height:56px}}.icon-btn.sp-only{display:none}@media(max-width:720px){.icon-btn.sp-only{display:grid}}
