:root{--night-1: #1c1a3a;--night-2: #2d2a5e;--accent: #7c6bd6;--accent-soft: #ece8fb;--gold: #e8c476;--text: #33324a;--text-soft: #6b6a85;--bg: #faf9fd;--card: #ffffff;--line: #e5e2f2;--radius: 14px;--shadow: 0 2px 12px rgba(60, 50, 120, .08);--maxw: 960px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.9;font-size:16px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}.container{max-width:var(--maxw);margin:0 auto;padding:0 16px}.site-header{background:radial-gradient(1px 1px at 12% 30%,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 28% 65%,rgba(255,255,255,.7) 50%,transparent 51%),radial-gradient(1px 1px at 44% 25%,rgba(255,255,255,.8) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 61% 55%,rgba(255,255,255,.6) 50%,transparent 51%),radial-gradient(1px 1px at 75% 35%,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 89% 60%,rgba(255,255,255,.7) 50%,transparent 51%),linear-gradient(135deg,var(--night-1),var(--night-2));color:#fff}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;max-width:var(--maxw);margin:0 auto;flex-wrap:wrap}.brand{color:#fff;font-weight:700;font-size:1.25rem;letter-spacing:.06em;display:flex;align-items:baseline;gap:8px}.brand:hover{text-decoration:none}.brand .tagline{font-size:.72rem;font-weight:400;color:#cfc9ee}.global-nav{display:flex;gap:4px;flex-wrap:wrap}.global-nav a{color:#e6e2f7;font-size:.85rem;padding:6px 10px;border-radius:8px}.global-nav a:hover{background:#ffffff1f;text-decoration:none}.hero{background:linear-gradient(180deg,var(--night-2),#4a4390 130%);color:#fff;text-align:center;padding:44px 16px 52px}.hero h1{font-size:1.5rem;margin:0 0 8px;letter-spacing:.04em}.hero p{color:#d5d0ef;font-size:.92rem;margin:0 0 24px}.search-form{display:flex;max-width:520px;margin:0 auto;border-radius:999px;overflow:hidden;box-shadow:0 4px 20px #140f3c59}.search-form input{flex:1;border:none;padding:13px 20px;font-size:16px;outline:none;min-width:0}.search-form button{border:none;background:var(--gold);color:#4a3a10;font-weight:700;padding:0 24px;font-size:.95rem;cursor:pointer}.search-form button:hover{filter:brightness(1.05)}.section{margin:40px 0}.section-title{font-size:1.15rem;border-left:5px solid var(--accent);padding-left:12px;margin:0 0 18px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;padding:0;margin:0;list-style:none}.dream-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:6px;transition:transform .12s ease}.dream-card:hover{transform:translateY(-2px)}.dream-card a.card-link{font-weight:700;font-size:1.02rem;color:var(--text)}.dream-card a.card-link:hover{color:var(--accent)}.dream-card .card-summary{font-size:.82rem;color:var(--text-soft);line-height:1.7;margin:0}.badge{display:inline-block;font-size:.72rem;font-weight:700;color:#fff;border-radius:999px;padding:1px 10px;align-self:flex-start}.card-meta{font-size:.75rem;color:var(--text-soft)}.chip-grid{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.88rem;color:var(--text);box-shadow:var(--shadow)}.chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.chip .count{font-size:.72rem;color:var(--text-soft)}.article-header{background:linear-gradient(180deg,var(--night-2),#443d85);color:#fff;padding:34px 16px 30px}.article-header .inner{max-width:var(--maxw);margin:0 auto}.article-header h1{font-size:1.45rem;margin:10px 0 12px;line-height:1.5}.article-header .lede{color:#d9d4f1;font-size:.9rem;margin:0}.article-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:#cfc9ee}.breadcrumb{font-size:.78rem;color:var(--text-soft);margin:14px 0}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:0;margin:0}.breadcrumb li+li:before{content:"›";margin:0 6px;color:#b9b5d1}.article-body{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 26px;margin-bottom:28px}.article-body h2{font-size:1.2rem;border-bottom:2px solid var(--accent-soft);border-left:5px solid var(--accent);padding:4px 0 6px 12px;margin:2em 0 .8em}.article-body h2:first-child{margin-top:0}.article-body h3{font-size:1.02rem;background:var(--accent-soft);border-radius:8px;padding:6px 12px;margin:1.6em 0 .7em}.article-body p{margin:.8em 0}.article-body ul{padding-left:1.4em}.faq-list{display:flex;flex-direction:column;gap:10px}.faq-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:4px 18px}.faq-item summary{cursor:pointer;font-weight:700;font-size:.95rem;padding:10px 0}.faq-item p{margin:4px 0 14px;font-size:.9rem;color:var(--text-soft)}.related-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:0;margin:0;list-style:none}.kana-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.kana-nav a,.kana-nav span{min-width:46px;text-align:center;padding:6px 0;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:.88rem}.kana-nav span{color:#c3c0d6}.kana-nav a.current{background:var(--accent);color:#fff;border-color:var(--accent)}.search-page-form{display:flex;gap:8px;margin:20px 0}.search-page-form input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 16px;font-size:16px}.search-page-form button{border:none;background:var(--accent);color:#fff;border-radius:10px;padding:0 22px;font-weight:700;cursor:pointer}.result-note{font-size:.85rem;color:var(--text-soft)}.ad-slot{margin:24px 0}.site-footer{margin-top:56px;background:var(--night-1);color:#b9b4d6;font-size:.8rem;padding:30px 16px 40px}.site-footer .inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:12px}.site-footer a{color:#d5d0ef}.site-footer .disclaimer{color:#8d88b0;line-height:1.7}@media(max-width:600px){.hero h1{font-size:1.25rem}.article-body{padding:20px 16px}}
