:root{--color-bg: #ffffff;--color-fg: #2b2f38;--color-muted: #748094;--color-primary: #ff5a7e;--color-primary-dark: #e23c63;--color-accent: #ffb020;--color-purple: #6c5ce7;--color-line: #ecedf2;--color-soft: #f7f8fb;--radius: 16px;--radius-lg: 24px;--shadow-sm: 0 2px 10px rgba(43, 47, 56, .06);--shadow: 0 10px 30px rgba(43, 47, 56, .1);--shadow-lg: 0 18px 48px rgba(255, 90, 126, .18);--maxw: 940px;--font: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-head: "Zen Maru Gothic", var(--font)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--color-fg);background:var(--color-bg);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);letter-spacing:.01em}a{color:var(--color-primary-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin-inline:auto;padding-inline:22px}.pr-banner{background:var(--color-soft);color:var(--color-muted);font-size:.74rem;text-align:center;padding:6px 12px;border-bottom:1px solid var(--color-line)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--color-line)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-family:var(--font-head);font-weight:900;font-size:1.3rem;color:var(--color-fg);letter-spacing:.02em}.brand span{color:var(--color-primary)}.nav{display:flex;gap:22px}.nav a{color:var(--color-fg);font-size:.92rem;font-weight:500;position:relative}.nav a:hover{color:var(--color-primary-dark);text-decoration:none}.nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--color-primary);transition:width .2s ease;border-radius:2px}.nav a:hover:after{width:100%}@media(max-width:640px){.nav{gap:14px}.nav a{font-size:.8rem}.brand{font-size:1.1rem}}.hero{background:radial-gradient(1200px 400px at 80% -10%,#ffe9ef 0%,transparent 60%),linear-gradient(135deg,#fff4f7,#f3f0ff);padding:64px 0 72px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:28px}.hero-tag{display:inline-block;font-size:.76rem;font-weight:700;color:var(--color-primary-dark);background:#fff;border:1px solid #ffd5df;padding:5px 14px;border-radius:999px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.hero h1{font-size:clamp(1.7rem,4.6vw,2.6rem);line-height:1.35;margin:0 0 16px;font-weight:900}.hero p{color:#5b6472;margin:0 0 24px;max-width:460px}.hero-btn{display:inline-block;background:var(--color-primary);color:#fff!important;font-weight:700;padding:13px 30px;border-radius:999px;box-shadow:var(--shadow-lg);transition:transform .14s ease,background .14s ease}.hero-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);text-decoration:none}.hero-art{display:flex;justify-content:center}.hero-art svg{width:100%;max-width:300px;filter:drop-shadow(0 14px 30px rgba(108,92,231,.18))}@media(max-width:720px){.hero{padding:44px 0 52px}.hero-inner{grid-template-columns:1fr;text-align:center}.hero p{margin-inline:auto}.hero-art{order:-1}.hero-art svg{max-width:200px}}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin:48px 0 8px}.section-head h2{font-size:1.5rem;margin:0;position:relative;padding-left:16px}.section-head h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:24px;border-radius:3px;background:linear-gradient(180deg,var(--color-primary),var(--color-accent))}.section-more{font-size:.88rem;font-weight:700;white-space:nowrap}.page-head{margin:44px 0 8px}.page-head h1{font-size:clamp(1.5rem,4vw,2rem);margin:0 0 6px}.page-head p{color:var(--color-muted);margin:0}.page-head-icon{margin-right:8px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:22px;margin:26px 0 8px}.card{border:1px solid var(--color-line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card a{color:inherit;display:block}.card a:hover{text-decoration:none}.card .thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative}.card .thumb:after{content:"";position:absolute;inset:0;background:radial-gradient(120px 80px at 80% 20%,rgba(255,255,255,.35),transparent 70%)}.card .thumb-icon{font-size:2.6rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.card .body{padding:15px 17px 19px}.card .cat{display:inline-block;font-size:.71rem;font-weight:700;color:var(--color-primary-dark);background:#fff0f3;padding:3px 11px;border-radius:999px;margin-bottom:9px}.card h3{font-size:1.02rem;margin:0 0 8px;line-height:1.55;font-weight:700}.card .date{color:var(--color-muted);font-size:.76rem}.article{padding:40px 0 72px}.article>.container{max-width:760px}.article .cat{display:inline-block;font-size:.74rem;font-weight:700;color:var(--color-primary-dark);background:#fff0f3;padding:3px 12px;border-radius:999px;margin-bottom:12px}.article h1{font-size:clamp(1.5rem,4.4vw,2.1rem);line-height:1.5;margin:6px 0 14px;font-weight:900}.article .meta{color:var(--color-muted);font-size:.84rem;margin-bottom:28px}.prose{font-size:1.02rem}.prose h2{font-size:1.42rem;margin:2.4em 0 .9em;padding:10px 0 10px 16px;line-height:1.45;border-left:6px solid transparent;border-image:linear-gradient(180deg,var(--color-primary),var(--color-accent)) 1;background:linear-gradient(90deg,#fff5f7,transparent)}.prose h3{font-size:1.16rem;margin:1.9em 0 .6em;color:#3a3f4a}.prose p{margin:1em 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.45em 0}.prose strong{color:var(--color-primary-dark)}.prose img{border-radius:var(--radius)}.prose a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.prose table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.94rem;box-shadow:var(--shadow-sm);border-radius:10px;overflow:hidden}.prose th,.prose td{border:1px solid var(--color-line);padding:11px 13px;text-align:left}.prose th{background:var(--color-soft);font-weight:700}.prose tr:nth-child(2n) td{background:#fcfcfe}.prose blockquote{border-left:4px solid var(--color-accent);background:#fffaf0;margin:1.5em 0;padding:14px 18px;border-radius:0 10px 10px 0;color:#5b5340}.toc{background:var(--color-soft);border:1px solid var(--color-line);border-radius:var(--radius);padding:18px 22px;margin:26px 0}.toc strong{display:block;margin-bottom:10px;font-family:var(--font-head)}.toc ol{margin:0;padding-left:1.3em}.toc li{margin:.35em 0}.toc a{color:#4a5260;text-decoration:none}.toc a:hover{color:var(--color-primary-dark);text-decoration:underline}.rank{border:2px solid var(--color-line);border-radius:var(--radius-lg);padding:22px;margin:28px 0;position:relative;background:#fff;box-shadow:var(--shadow-sm)}.rank.is-top{border-color:#ffe0a3;box-shadow:var(--shadow);background:linear-gradient(180deg,#fffdf7,#fff)}.rank .badge{position:absolute;top:-15px;left:20px;background:linear-gradient(135deg,var(--color-accent),#ff8a3d);color:#fff;font-family:var(--font-head);font-weight:900;font-size:.82rem;padding:5px 16px;border-radius:999px;box-shadow:var(--shadow-sm)}.rank h3{margin:8px 0 4px;font-size:1.3rem}.rank .stars{color:var(--color-accent);font-weight:700;margin:0}.cta{display:inline-block;text-align:center;background:linear-gradient(135deg,#ff7197,var(--color-primary));color:#fff!important;font-family:var(--font-head);font-weight:700;padding:15px 34px;border-radius:999px;box-shadow:var(--shadow-lg);transition:transform .12s ease,filter .12s ease}.cta:hover{filter:brightness(1.05);transform:translateY(-2px);text-decoration:none}.cta-wrap{text-align:center;margin:22px 0}.cta-note{display:block;font-size:.72rem;color:var(--color-muted);margin-top:7px}.site-footer{border-top:1px solid var(--color-line);background:var(--color-soft);margin-top:72px;padding:36px 0;font-size:.85rem;color:var(--color-muted)}.site-footer .links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}.site-footer a{color:#5b6472;font-weight:500}.site-footer p{margin:.4em 0;line-height:1.7}.pager{display:flex;justify-content:space-between;margin:36px 0}.pager a{font-weight:700}
