.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--paper:#faf9f6;--card:#ffffff;--ink:#14161a;--ink-soft:#52565e;--line:#e8e6e0;--navy:#0f1b33;--accent:#c2410c;--gold:#9a6a14;--serif:"Shippori Mincho", serif;--sans:"Inter","Noto Sans JP",sans-serif;--ease-premium: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:auto}body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.85;letter-spacing:.01em;padding-bottom:78px;overflow-x:hidden;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.wrap{max-width:680px;margin:0 auto}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#faf9f6d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.18em;color:var(--navy);text-transform:uppercase}.brand b{color:var(--accent)}.topbar .dot{font-size:.62rem;color:var(--ink-soft);letter-spacing:.14em}.hero{position:relative;height:78vh;min-height:520px;max-height:760px;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080e1c26,#080e1c33 45%,#080e1cc7)}.hero-inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 26px 44px;color:#fff}.hero .kicker{font-size:.68rem;letter-spacing:.32em;font-weight:600;text-transform:uppercase;color:#f0d9c4;margin-bottom:18px;display:inline-block;border-top:1px solid rgba(255,255,255,.35);padding-top:14px}.hero h1{font-family:var(--serif);font-weight:800;font-size:2.45rem;line-height:1.32;letter-spacing:.02em;text-shadow:0 2px 24px rgba(0,0,0,.35);margin-bottom:14px}.hero .lede{font-size:.9rem;color:#e7e4dd;font-weight:400;max-width:30em;line-height:1.9}section{display:none}section.active{display:block;animation:fade .4s var(--ease-premium)}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sec-head{padding:40px 26px 6px}.sec-head .en{font-size:.66rem;letter-spacing:.3em;color:var(--ink-soft);font-weight:600;text-transform:uppercase}.sec-head h2{font-family:var(--serif);font-size:1.5rem;font-weight:700;margin-top:6px;letter-spacing:.04em}.article{padding:30px 26px 8px}.meta{display:flex;align-items:center;gap:12px;font-size:.72rem;color:var(--ink-soft);letter-spacing:.08em;margin-bottom:22px}.meta .tag{background:var(--navy);color:#fff;padding:3px 10px;border-radius:2px;font-weight:600;letter-spacing:.1em}.article h1{font-family:var(--serif);font-size:1.85rem;font-weight:800;line-height:1.4;letter-spacing:.02em;color:var(--navy);margin-bottom:24px}.article h2{font-family:var(--serif);font-size:1.45rem;font-weight:700;line-height:1.5;letter-spacing:.02em;color:var(--navy);margin:38px 0 16px;border-bottom:1px solid var(--line);padding-bottom:8px}.article h3{font-family:var(--serif);font-size:1.15rem;font-weight:700;line-height:1.5;letter-spacing:.02em;color:var(--navy);margin:28px 0 12px}.article p{font-size:1.02rem;color:#23262c;margin-bottom:1.5em;line-height:2.05}.article p.lead{font-family:var(--serif);font-size:1.18rem;line-height:2;color:var(--ink);font-weight:500}.article .drop:first-letter{font-family:var(--serif);font-size:3.1rem;float:left;line-height:.86;padding:6px 12px 0 0;color:var(--navy);font-weight:700}.pull{font-family:var(--serif);font-size:1.32rem;line-height:1.8;color:var(--navy);border-left:3px solid var(--accent);padding:6px 0 6px 22px;margin:34px 0;font-weight:600}.figure{margin:34px -26px}.figure img{width:100%}.figure figcaption{font-size:.74rem;color:var(--ink-soft);text-align:center;padding:12px 26px 0;letter-spacing:.06em}.figure figcaption .ai-note{font-size:.62rem;color:#9aa0a8;margin-left:8px}.gear{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:30px 0;box-shadow:0 8px 24px -16px #0f1b3366}.gear .thumb{width:78px;height:78px;border-radius:10px;background:#f1efe9;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--navy);font-size:1.5rem}.gear .g-body{flex:1;min-width:0}.gear .g-note{font-size:.68rem;letter-spacing:.14em;color:var(--gold);font-weight:700;text-transform:uppercase}.gear .g-name{font-size:.98rem;font-weight:700;margin:3px 0 4px;color:var(--ink);line-height:1.4}.gear .g-why{font-size:.8rem;color:var(--ink-soft);line-height:1.6}.gear .g-buy{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:.78rem;font-weight:600;color:var(--navy);text-decoration:none;border:1px solid var(--navy);border-radius:999px;padding:6px 16px;transition:.2s}.gear .g-buy:hover{background:var(--navy);color:#fff}.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink-soft);font-size:.86rem;font-weight:600;padding:24px 26px 10px;transition:.2s;letter-spacing:.05em}.back-link:hover{color:var(--navy)}.list{padding:8px 20px 30px}.card{display:block;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:22px;box-shadow:0 10px 30px -22px #0f1b3380;transition:.25s var(--ease-premium)}.card:active{transform:scale(.992)}.card .c-img{height:188px;background:#e9e6df;position:relative;overflow:hidden}.card .c-img img{width:100%;height:100%;object-fit:cover}.card .c-img .c-date{position:absolute;left:14px;top:14px;background:#faf9f6eb;color:var(--navy);font-size:.68rem;font-weight:700;letter-spacing:.1em;padding:5px 11px;border-radius:3px}.card .c-body{padding:18px 18px 20px}.card .c-en{font-size:.62rem;letter-spacing:.26em;color:var(--ink-soft);font-weight:600;text-transform:uppercase}.card .c-title{font-family:var(--serif);font-size:1.18rem;font-weight:700;line-height:1.5;margin:6px 0 8px;letter-spacing:.02em}.card .c-ex{font-size:.84rem;color:var(--ink-soft);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .c-more{margin-top:12px;font-size:.74rem;font-weight:600;color:var(--accent);letter-spacing:.08em}.k-level-group{margin-bottom:40px}.k-level-header{margin:34px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.k-level-title{font-family:var(--serif);font-size:1.18rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px}.k-level-title span{font-size:.72rem;color:var(--accent);border:1px solid var(--accent);padding:2px 7px;border-radius:2px;font-family:var(--sans);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.k-level-desc{font-size:.8rem;color:var(--ink-soft);margin-top:6px;line-height:1.5}.k-row{display:flex;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:.2s var(--ease-premium)}.k-row:hover{background:#0f1b3304;padding-left:4px}.k-row .k-no{font-family:var(--serif);font-size:1.05rem;color:var(--accent);font-weight:700;width:1.6em;flex-shrink:0}.k-row .k-t{font-size:.96rem;font-weight:600;color:var(--ink);line-height:1.55}.k-row .k-s{font-size:.78rem;color:var(--ink-soft);margin-top:3px;line-height:1.6}.next-article{margin-top:46px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px -18px #0f1b334d}.next-article .n-label{font-size:.66rem;letter-spacing:.18em;color:var(--accent);font-weight:700;text-transform:uppercase;display:block;margin-bottom:6px}.next-article h4{font-family:var(--serif);font-size:1.15rem;font-weight:700;line-height:1.45;margin-bottom:8px}.next-article h4 a{color:var(--navy);text-decoration:none;transition:.2s}.next-article h4 a:hover{color:var(--accent)}.next-article p{font-size:.84rem;color:var(--ink-soft);line-height:1.65;margin-bottom:0}.about{padding:40px 30px 20px}.about p{font-family:var(--serif);font-size:1.12rem;line-height:2.1;color:var(--ink);margin-bottom:1.4em}.about .sig{font-size:.8rem;color:var(--ink-soft);letter-spacing:.1em;margin-top:20px}footer{padding:50px 26px 40px;text-align:center;border-top:1px solid var(--line);margin-top:30px}footer .f-brand{font-weight:700;letter-spacing:.18em;font-size:.78rem;color:var(--navy);text-transform:uppercase}footer .f-brand b{color:var(--accent)}footer .f-note{font-size:.72rem;color:var(--ink-soft);margin-top:10px;line-height:1.8}footer .f-aff{font-size:.66rem;color:#9aa0a8;margin-top:18px;line-height:1.7}.nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:#ffffffeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}.nav button,.nav a{flex:1;background:none;border:none;padding:11px 0 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-soft);font-family:var(--sans);transition:.2s var(--ease-premium);text-decoration:none;text-align:center}.nav button i,.nav a i{font-size:1.1rem}.nav button span,.nav a span{font-size:.62rem;letter-spacing:.12em;font-weight:600}.nav button.on,.nav a.on{color:var(--navy)}.nav button.on i,.nav a.on i{color:var(--accent)}@media(min-width:700px){.hero h1{font-size:2.9rem}}
