:root{--night:#0f2229;--night2:#173a44;--lamp:#f3c567;--glow:#fcecc0;--paper:#eef3f1;--panel:#ffffff;--ink:#14211d;--sub:#4b5a56;--line:#cbd7d3;--mint:#7cc9b0;--mintink:#1d735c;--mintbg:#e2f3ec;--slate:#56687a;--slatebg:#e9edf1}
@media (prefers-color-scheme:dark){:root{--paper:#0e1b1b;--panel:#142424;--ink:#e6eeeb;--sub:#a3b3ae;--line:#264340;--mintink:#8fd9c1;--mintbg:#16302a;--slate:#a9bccd;--slatebg:#1a2a33}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Zen Kaku Gothic New",system-ui,sans-serif;font-size:16px;line-height:1.9;font-feature-settings:"palt" 0}
img{max-width:100%;display:block}
a{color:var(--mintink);text-underline-offset:3px}
a:focus-visible,summary:focus-visible,audio:focus-visible{outline:2px solid var(--lamp);outline-offset:3px;border-radius:4px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.mincho{font-family:"Shippori Mincho B1",serif}
/* 上部 */
.bar{background:var(--night);color:#efe7d2}
.bar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:60px;gap:16px}
.mark{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:20px;letter-spacing:.12em;color:#fbf3dc;text-decoration:none;display:flex;align-items:center;gap:12px}
.mark i{width:12px;height:18px;border:2px solid var(--lamp);background:var(--glow);box-shadow:0 0 10px rgba(243,197,103,.7)}
.bar nav{display:flex;gap:20px;font-size:14px}.bar nav a{color:#cfe0dc;text-decoration:none;padding:10px 0}.bar nav a:hover{color:var(--lamp)}
/* ヒーロー：暗い部屋と、ひらいた扉 */
.hero{background:radial-gradient(ellipse at 70% 100%,#2a3a33 0,rgba(15,34,41,0) 55%),var(--night);color:#efe7d2;padding:56px 0 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}
.hero .copy{padding-bottom:88px}
.catch span{display:inline-block}
.catch{word-break:keep-all;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(34px,5.4vw,58px);line-height:1.35;letter-spacing:.02em;margin:0 0 22px;color:#fbf3dc}
.hero .lead{color:#c7d6d2;max-width:30em;margin:0 0 28px;font-size:15.5px}
.hosts{display:flex;align-items:center;gap:14px;font-size:14px;color:#c7d6d2}
.hosts .faces{display:flex}.hosts img{width:44px;height:44px;border-radius:50%;border:2px solid var(--night);object-fit:cover}.hosts img+img{margin-left:-10px}
.hosts b{color:#fbf3dc;font-weight:700}
.doorway{position:relative;padding:0 0 0 13%;justify-self:end;width:100%;max-width:470px}
.leaf{position:absolute;left:0;top:7%;bottom:2%;width:13.5%;background:var(--night2);clip-path:polygon(0 9%,100% 0,100% 100%,0 94%)}
.leaf::after{content:"";position:absolute;left:30%;top:50%;width:9px;height:9px;border-radius:50%;background:var(--lamp)}
.door{position:relative;background:var(--glow);color:#1c2622;border:6px solid var(--lamp);border-bottom:0;padding:30px 30px 34px;box-shadow:0 0 70px rgba(243,197,103,.38),0 0 18px rgba(243,197,103,.5)}
.spill{height:56px;margin-left:13%;background:linear-gradient(rgba(252,236,192,.28),rgba(252,236,192,0));clip-path:polygon(0 0,100% 0,118% 100%,-18% 100%)}
.door .kicker{font-size:13.5px;font-weight:700;color:#7a5a16;margin:0}
.door .num{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:15px;color:#7a5a16;margin:0 0 2px}
.door h2{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(23px,2.6vw,29px);line-height:1.5;margin:6px 0 12px}
.door h2 a{color:inherit;text-decoration:none}.door h2 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13.5px;color:#5c5a4e;margin:0 0 16px;padding:0;list-style:none}
.door .facts{color:#5f5743}
.door audio{width:100%;margin:2px 0 12px}
.door .go{font-weight:700;color:#1c2622;font-size:14.5px}
/* セクション */
section.blk{padding:84px 0 0}
.h{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(25px,3.4vw,34px);line-height:1.5;margin:0 0 36px;letter-spacing:.02em}
/* ふたり */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.host{background:var(--panel);border-top:5px solid var(--c);padding:30px 30px 32px}
.host.minori{--c:var(--mint);--cb:var(--mintbg)}.host.jiro{--c:var(--slate);--cb:var(--slatebg)}
.host .head{display:grid;grid-template-columns:168px 1fr;gap:24px;align-items:center}
.host .pic{width:168px;height:168px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 5px var(--panel),0 0 0 7px var(--c)}
.host .role{display:inline-block;font-size:13px;font-weight:700;background:var(--cb);color:var(--ink);padding:1px 12px;border-radius:999px}
.host h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:30px;margin:8px 0 0;line-height:1.3}
.host h3 small{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;font-size:12.5px;color:var(--sub);letter-spacing:.08em}
.host .title{margin:4px 0 0;font-size:14px;color:var(--sub)}
.host blockquote{margin:26px 0 0;padding:0 0 0 18px;border-left:3px solid var(--c);font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:20px;line-height:1.65}
.host .body{margin:20px 0 0;font-size:15px}
.host .link{margin:14px 0 0;font-size:14.5px;background:var(--cb);padding:10px 16px}
.host .link a{font-weight:700}
.host h4{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:17px;margin:30px 0 10px}
.lens{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.lens li{display:grid;gap:2px;background:var(--cb);padding:12px 16px}
.lens b{font-family:"Shippori Mincho B1",serif;font-size:16px;margin-right:10px}.lens span{font-size:12.5px;color:var(--sub)}
.lens q{font-size:15.5px;font-weight:500;quotes:"「" "」"}
.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.steps li{counter-increment:s;border-top:2px solid var(--c);padding:8px 0 0;font-size:13px;color:var(--sub);line-height:1.6}
.steps li::before{content:counter(s);font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:18px;color:var(--ink);margin-right:6px}
.steps b{display:inline;color:var(--ink);font-size:14px}.steps em{display:block;font-style:normal;margin-top:2px}
.host dl{margin:0;display:grid;grid-template-columns:9.2em 1fr;font-size:14px;border-top:1px solid var(--line)}
.host dt,.host dd{padding:9px 0;border-bottom:1px solid var(--line);margin:0}.host dt{font-weight:700;color:var(--sub)}
.qa{margin:0}.qa div{padding:10px 0;border-bottom:1px dashed var(--line)}
.qa dt{font-weight:700;font-size:14.5px;padding:0;border:0}.qa dt::before{content:"Q. ";color:var(--c)}
.qa dd{font-size:14.5px;padding:2px 0 0;border:0;margin:0}.qa dd::before{content:"A. ";font-weight:700;color:var(--sub)}
.host .qa{display:block;border:0}
.seen{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;margin:26px 0 0}
.seen img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.seen p{margin:0;background:var(--paper);padding:10px 16px;border-radius:4px 16px 16px 16px;font-size:14.5px}
.seen p b{display:block;font-size:12.5px;color:var(--sub)}
/* 番組について */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.feat div{padding:22px 26px 6px 0}.feat div+div{padding-left:26px;border-left:1px solid var(--line)}
.feat h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:20px;margin:0 0 6px}
.feat p{margin:0;font-size:14.5px;color:var(--sub)}
.policy{margin:36px 0 0;font-size:14px;color:var(--sub);background:var(--panel);border-left:4px solid var(--lamp);padding:16px 22px}
/* 回の一覧 */
.list{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.epno{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:46px;line-height:1;color:var(--ink);white-space:nowrap}
.epno small{font-size:15px;font-weight:700;margin:0 2px;vertical-align:.5em}
.row .theme{font-size:13.5px;font-weight:700;color:var(--mintink);margin:0}
.row h3{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:22px;line-height:1.5;margin:4px 0 6px}
.row h3 a{color:inherit;text-decoration:none}.row h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.row .facts{color:var(--sub);margin-bottom:8px}
.row p.d{margin:0 0 12px;font-size:15px;max-width:42em}
.row audio{width:100%;max-width:560px;display:block;margin:0 0 6px}
.note{font-size:13.5px;background:var(--mintbg);padding:6px 12px;margin:0 0 12px}
.go{font-weight:700;font-size:14.5px}
/* 回のページ */
.ephead{background:var(--night);color:#efe7d2;padding:40px 0 48px}
.ephead .wrap{max-width:820px}
.ephead .crumb{font-size:14px;margin:0 0 18px}.ephead .crumb a{color:#cfe0dc}
.ephead .num{font-family:"Shippori Mincho B1",serif;font-weight:800;color:var(--lamp);margin:0;font-size:16px}
.ephead h1{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(27px,4.4vw,40px);line-height:1.45;margin:6px 0 14px;color:#fbf3dc}
.ephead .facts{color:#c7d6d2}
.ephead p.d{color:#dbe5e2;margin:0 0 20px;max-width:40em}
.ephead audio{width:100%}
.ephead .note{background:#1d3a40;color:#efe7d2}
.page{max-width:820px}
.page .policy{margin:36px 0 0}
.script{margin:44px 0 0}
.script summary{cursor:pointer;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:22px;padding:8px 0 18px;list-style-position:outside}
.line{display:grid;grid-template-columns:40px 1fr;gap:12px;margin:0 0 14px;align-items:start}
.line img{width:40px;height:40px;border-radius:50%;object-fit:cover}
.line .say{margin:0;background:var(--panel);padding:10px 16px;border-radius:4px 16px 16px 16px;font-size:15.5px}
.line.a .say{background:var(--mintbg)}
.line .say b{display:block;font-size:12.5px;color:var(--sub)}
.nav{display:flex;justify-content:space-between;gap:12px;margin:36px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:15px}
/* フッター */
footer{margin-top:96px;background:var(--night);color:#b8c8c4;padding:44px 0 52px;font-size:13.5px}
footer .wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:40px}
footer .mark{font-size:18px;margin-bottom:10px}
footer ul{margin:0;padding-left:1.1em}footer li{margin:0 0 6px}
footer a{color:#e6dcc0}
@media (max-width:820px){
 .hero{padding-top:36px}.hero .wrap{grid-template-columns:1fr;gap:28px}.hero .copy{padding-bottom:0}
 .doorway{justify-self:stretch;max-width:none;padding-left:10%}.leaf{width:10.5%}.spill{margin-left:10%;height:40px}
 .door{padding:22px 20px 26px}
 .duo{grid-template-columns:1fr}.feat{grid-template-columns:1fr}.feat div,.feat div+div{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
 section.blk{padding-top:60px}
}
@media (max-width:520px){
 .wrap{padding:0 16px}.bar nav a+a{display:none}
 .host{padding:24px 18px 26px}.host .head{grid-template-columns:104px 1fr;gap:16px}.host .pic{width:104px;height:104px}.host h3{font-size:24px}.host blockquote{font-size:17px}
 .steps{grid-template-columns:1fr 1fr;gap:10px}.host dl:not(.qa){display:block}.host dl:not(.qa) dt{border:0;padding:10px 0 0}.host dl:not(.qa) dd{padding:0 0 10px}.catch{font-size:29px}
 .row{grid-template-columns:1fr;gap:6px}.epno{font-size:34px}
 footer .wrap{grid-template-columns:1fr;gap:20px}
}
