/* PH-English 共通の見た目（2026年9月30日 決定：処方箋 × 表紙「表紙を上に」、差し色は焦げ茶）
   色を変えるときは :root の中だけを直すと、全ページが変わります。 */
:root{
  --bg:#eeece6; --paper:#ffffff; --ink:#141414; --sub:#555452; --gray:#7a7874;
  --line:#141414; --faint:#e7e5df; --dash:#bdbab3;
  --accent:#7b4a1c;          /* 焦げ茶（白地でのコントラスト 7.4） */
  --accent-soft:#f3e9dd;
  --on-photo:#f2cf7c;        /* 写真の上の小さな文字 */
  --mark:#ffe98a;
  --display:"Archivo","BIZ UDPGothic",sans-serif;
  --jp:"BIZ UDPGothic",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-padding-top:20px}
body{margin:0;background:var(--bg);color:var(--ink);font:16.5px/1.85 "Space Grotesk","BIZ UDPGothic",sans-serif;-webkit-text-size-adjust:100%}
a{color:inherit}
img{max-width:100%;height:auto}
code{font-family:var(--mono);font-size:.9em;background:var(--accent-soft);padding:1px 6px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em}
.kick{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--accent)}
.small{font-size:14px;color:var(--sub)}
.pending{color:var(--sub);border:1px dashed var(--dash);padding:8px 14px;font-size:15px}
mark{background:linear-gradient(transparent 58%,var(--mark) 58%);color:inherit;padding:0 1px}

/* 1枚の紙（処方箋の枠） */
.sheet{max-width:1180px;margin:28px auto;background:var(--paper);border:1.5px solid var(--line)}

/* 表紙（トップは大きく、中のページは帯） */
.cover{position:relative;overflow:hidden;border-bottom:1.5px solid var(--line);background:#222}
.cover img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.42) 0%,rgba(10,10,10,0) 38%,rgba(10,10,10,0) 50%,rgba(10,10,10,.6) 100%);pointer-events:none}
.cover .top{position:absolute;z-index:2;left:0;right:0;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;border-bottom:1px solid rgba(255,255,255,.45);color:#fff}
.cover .top > *{padding:11px 20px}
.cover .top .home{display:flex;align-items:center;gap:12px;text-decoration:none;border-right:1px solid rgba(255,255,255,.45);height:100%}
.cover .top .home svg{width:28px;height:28px;display:block}
.cover .top .home b{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:18px}
.cover .top .pub{border-left:1px solid rgba(255,255,255,.45)}
.cover .in{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff}
.cover .in .kick{color:var(--on-photo)}
.cover h1{font-family:var(--jp);font-weight:700;font-size:clamp(28px,4.2vw,50px);line-height:1.3;margin:6px 0 0;text-shadow:0 1px 14px rgba(0,0,0,.28)}
.cover .lead{margin:10px 0 0;max-width:46em;font-size:16px;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.cover.page{height:clamp(300px,44vh,420px)}
.cover.page .top .home b{display:inline}
/* トップの表紙 */
.cover.home{height:min(78vh,720px);min-height:460px}
.cover.home .top .home b{display:none}
.cover .mast{position:absolute;z-index:2;left:22px;right:22px;top:66px;margin:0;color:#fff;font-family:var(--display);font-weight:800;letter-spacing:-.05em;line-height:.84;font-size:clamp(58px,11.5vw,158px)}
.cover.home .in{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}
.cover.home h1{font-size:clamp(22px,2.8vw,34px);line-height:1.45}

/* メニュー */
nav.site{display:flex;border-bottom:1.5px solid var(--line);overflow-x:auto;background:var(--paper);scrollbar-width:none}
nav.site a{padding:10px 18px;border-right:1px solid var(--faint);font-size:14px;white-space:nowrap;text-decoration:none}
nav.site a:hover{background:var(--accent-soft)}
nav.site a.cur{background:var(--ink);color:#fff}

/* 本文 */
.body{display:grid;grid-template-columns:1fr 380px}
.body > .main{padding:36px 34px;border-right:1.5px solid var(--line);min-width:0}
.body > .side{padding:30px 26px;min-width:0}
.wrap{padding:34px 34px 44px}
.wrap.narrow{max-width:860px}
.block{margin:0 0 38px}
.block:last-child{margin-bottom:0}
.block > h2,.h2{font-family:var(--jp);font-weight:700;font-size:25px;line-height:1.4;margin:4px 0 12px}
.block h3{font-family:var(--jp);font-size:19px;margin:22px 0 8px}
.rule{border-top:1.5px solid var(--line);margin:0}
.section{padding:34px;border-top:1.5px solid var(--line)}
.section:first-child{border-top:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:34px}

/* ボタン（角のある四角） */
.btn{display:inline-block;font:inherit;font-weight:700;font-size:15px;background:var(--ink);color:#fff;border:1.5px solid var(--ink);padding:9px 18px;text-decoration:none;cursor:pointer;line-height:1.4}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:var(--paper);color:var(--ink)}
.btn.ghost:hover{background:var(--accent-soft)}
.more{margin-top:16px}

/* 内容の欄（Rp. の番号と点線） */
.rxlist{list-style:none;margin:0;padding:0;counter-reset:rx}
.rxlist li{counter-increment:rx;padding:15px 0;border-top:1px dashed var(--dash)}
.rxlist li:last-child{border-bottom:1px dashed var(--dash)}
.rxlist a{text-decoration:none;display:block}
.rxlist .l{display:flex;align-items:baseline;gap:10px}
.rxlist .l::before{content:"Rp." counter(rx);font-family:var(--mono);font-size:12px;color:var(--accent);width:42px;flex:none}
.rxlist .t{font-weight:700;font-size:20px;font-family:var(--jp)}
.rxlist .dots{flex:1;border-bottom:1.5px dotted #999;transform:translateY(-5px)}
.rxlist .q{font-family:var(--mono);font-size:13px;white-space:nowrap}
.rxlist .u{margin:2px 0 0 52px;font-size:14.5px;color:var(--sub)}
.rxlist .u b{font-family:var(--mono);font-weight:500;font-size:11.5px;color:var(--gray);margin-right:8px}
.rxlist a:hover .t{color:var(--accent)}

/* 表 */
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:var(--paper)}
th,td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
thead th{background:var(--accent-soft);font-size:14px}
th small,td small{display:block;font-weight:400;font-size:12.5px;color:var(--gray)}
table.guide th a{font-family:var(--display);font-size:18px;font-weight:700;text-decoration:none}
table.guide td{font-size:15px}
.embed{position:relative;overflow:hidden;background:#000;border:1.5px solid var(--line)}
.embed.video{aspect-ratio:16/9}
.embed.slide{aspect-ratio:16/9.6}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* 下の欄 */
.bottom{display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--line)}
.bottom div{padding:12px 22px;border-right:1px solid var(--faint);font-size:14.5px}
.bottom div:last-child{border:0}
.bottom .mono{color:var(--gray);display:block}

/* 薬のラベル（今日の1語など） */
.label{border:1.5px solid var(--line);display:grid;grid-template-columns:1fr auto}
.label .l1{padding:16px 20px;min-width:0}
.label .word{font-family:var(--display);font-size:clamp(32px,4vw,52px);font-weight:700;letter-spacing:-.04em;line-height:1.02;overflow-wrap:anywhere}
.label .ja{font-family:var(--jp);margin-top:8px}
.label .l2{border-left:1.5px solid var(--line);padding:16px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:160px}
.label .l3{grid-column:1/3;border-top:1.5px solid var(--line);padding:14px 20px;font-size:16px}
.big-word{font-family:var(--display);font-weight:700;letter-spacing:-.04em;line-height:1;font-size:40px;overflow-wrap:anywhere}

/* 発音ボタン */
.say{display:inline-flex;align-items:center;gap:6px;font:inherit;font-family:var(--mono);font-size:12px;border:1.5px solid var(--ink);background:var(--paper);padding:4px 10px;cursor:pointer;color:var(--ink)}
.say:hover{background:var(--accent-soft)}
.say.playing{background:var(--ink);color:#fff}
.say svg{width:14px;height:14px}
.voices{display:flex;gap:6px;flex-wrap:wrap}

/* タブ（絞り込み・ジャンル） */
.tabs{display:flex;flex-wrap:wrap;border:1.5px solid var(--line);border-right:0}
.tabs button,.tabs a{font:inherit;font-size:14.5px;background:var(--paper);color:var(--ink);border:0;border-right:1.5px solid var(--line);padding:8px 16px;cursor:pointer;text-decoration:none;line-height:1.4}
.tabs button:hover,.tabs a:hover{background:var(--accent-soft)}
.tabs .on{background:var(--ink);color:#fff}
.tabs .n{font-family:var(--mono);font-size:11.5px;opacity:.7;margin-left:6px}

/* 例文さがし */
.phrase-app .layout{display:grid;grid-template-columns:260px 1fr;gap:0;align-items:start}
.phrase-app .side{position:sticky;top:0;max-height:100vh;overflow:auto;padding:26px 22px;border-right:1.5px solid var(--line)}
.phrase-app .list{padding:26px 32px;min-width:0}
.search{display:flex;align-items:center;gap:10px;background:var(--paper);border:1.5px solid var(--line);padding:8px 12px}
.search:focus-within{box-shadow:0 0 0 3px var(--accent-soft)}
.search svg{flex:none;color:var(--gray)}
.search input{flex:1;border:0;outline:0;font:inherit;font-size:16px;background:transparent;color:var(--ink);min-width:0}
.search .clear{border:0;background:none;color:var(--gray);font:inherit;font-size:13px;cursor:pointer}
.label-s{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--gray);margin:20px 0 6px;text-transform:uppercase}
.filters{display:flex;flex-direction:column;border-top:1px solid var(--faint)}
.filters button{font:inherit;font-size:14.5px;text-align:left;border:0;border-bottom:1px solid var(--faint);background:none;color:var(--ink);padding:7px 4px;cursor:pointer;line-height:1.45;display:flex;justify-content:space-between;gap:8px}
.filters button:hover{color:var(--accent)}
.filters button.on{font-weight:700;color:var(--accent)}
.filters button.on::before{content:"▸ "}
.filters .n{font-family:var(--mono);font-size:11.5px;color:var(--gray)}
.count{font-family:var(--mono);font-size:12.5px;color:var(--gray);margin:0 0 6px}
.overview{border:1.5px solid var(--line);padding:16px 20px;margin:0 0 10px}
.overview h3{margin:0 0 4px;font-family:var(--jp);font-size:19px}
.overview ul{margin:6px 0 0;padding-left:1.2em;font-size:15.5px}
.move-head{margin:34px 0 4px;padding-top:14px;border-top:1.5px solid var(--line)}
.move-head .part{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.move-head h2{font-family:var(--jp);font-size:22px;margin:2px 0 6px;line-height:1.4}
.move-head p{margin:0;font-size:15.5px;color:var(--sub)}
.phr{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 4px;font-size:14.5px}
.phr span{border-bottom:1px dotted var(--dash)}
.phr i{font-style:normal;color:var(--gray);font-size:13px;margin-left:6px}
.ex{padding:18px 0;border-bottom:1px dashed var(--dash)}
.ex .en{font-size:18.5px;line-height:1.7;margin:0 0 6px}
.ex .ja{margin:0 0 8px;color:#333}
.ex .pt{font-size:15px;color:var(--sub);margin:0 0 8px;display:grid;grid-template-columns:auto 1fr;gap:12px}
.ex .pt::before{content:"NOTE";font-family:var(--mono);font-size:11px;color:var(--accent);padding-top:3px;letter-spacing:.08em}
.ex .pt b{color:var(--ink)}
.ex .src{font-family:var(--mono);font-size:11.5px;color:var(--gray);line-height:1.6}
.ex .src a{color:var(--accent)}
.ex .tag{border:1px solid var(--gray);padding:0 5px;margin-right:6px}
.empty{padding:40px;text-align:center;color:var(--gray)}

/* 論文の英語：パート */
.part-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--line);border-left:1.5px solid var(--line)}
.part-list a{display:flex;flex-direction:column;padding:16px 18px;border-right:1.5px solid var(--line);border-bottom:1.5px solid var(--line);text-decoration:none}
.part-list a:hover{background:var(--accent-soft)}
.part-list .pc-t{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em}
.part-list .pc-j{color:var(--sub);font-size:14px}
.part-list .pc-n{font-family:var(--mono);font-size:12px;color:var(--accent);margin-top:6px}

/* 薬剤師の英語：場面 */
.scene-list{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px}
.scene-list a{text-decoration:none;display:flex;flex-direction:column}
.scene-list img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block;border:1.5px solid var(--line)}
.scene-list .sc{border-top:1.5px solid var(--line);margin-top:10px;padding-top:6px}
.scene-list .sc-k{font-family:var(--mono);font-size:11.5px;color:var(--accent)}
.scene-list .sc-t{font-family:var(--jp);font-weight:700;font-size:18px;display:block}
.scene-list .sc-p{font-size:13.5px;color:var(--sub);display:block;line-height:1.6}
.scene-list a:hover .sc-t{color:var(--accent)}
table.setting th{width:34%;background:var(--accent-soft)}
.toggles{margin:4px 0 14px}
.turn{display:grid;grid-template-columns:110px 1fr;gap:2px 14px;padding:11px 0;border-bottom:1px dashed var(--dash)}
.turn .spk{grid-row:span 2;font-family:var(--mono);font-size:12px;color:var(--gray);padding-top:5px}
.turn.ph .spk{color:var(--accent)}
.turn p{margin:0}
.turn .t-en{font-size:17.5px}
.turn .t-ja{color:var(--sub);font-size:15.5px}
.script[data-mode="en"] .t-ja{display:none}
.script[data-mode="ja-hide"] .t-ja{background:var(--faint);color:transparent;cursor:pointer;user-select:none}
.script[data-mode="ja-hide"] .t-ja.shown{background:transparent;color:var(--sub)}
table.words th{width:32%;font-weight:700}
.pager{display:flex;justify-content:space-between;gap:10px;border-top:1.5px solid var(--line);padding:14px 34px;font-weight:700}
.pager a{text-decoration:none}
.pager a:hover{color:var(--accent)}
.steps li{margin:4px 0}
details.prompt{border:1.5px solid var(--line);padding:10px 16px}
details.prompt summary{cursor:pointer;font-weight:700}
pre{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:13px;line-height:1.65;background:#f7f6f2;border:1px solid var(--faint);padding:14px 16px;overflow:auto}
pre#prompt{max-height:420px}

/* 就活・留学（原稿から作るページ） */
.prose h2{font-family:var(--jp);font-size:27px;margin:44px 0 12px;padding-top:16px;border-top:1.5px solid var(--line)}
.prose h2:first-of-type{margin-top:20px}
.prose h3{font-family:var(--jp);font-size:20px;margin:30px 0 8px}
.prose h4{font-size:17.5px;margin:22px 0 6px}
.prose pre.sample{background:var(--paper);border:1.5px solid var(--line)}
.prose blockquote.sample-answer{margin:10px 0 16px;border-left:1.5px solid var(--ink);padding:4px 0 4px 18px;font-size:16.5px}
.prose li.chk{list-style:none;position:relative}
.prose li.chk::before{content:"☐";position:absolute;left:-1.3em;color:var(--accent)}
.toc{display:flex;flex-wrap:wrap;border:1.5px solid var(--line);border-right:0;margin:0 0 10px}
.toc a{padding:7px 14px;border-right:1.5px solid var(--line);text-decoration:none;font-size:14.5px;font-weight:700}
.toc a:hover{background:var(--accent-soft)}

/* リンク */
.link-list{list-style:none;margin:0;padding:0;border-top:1px dashed var(--dash)}
.link-list li{border-bottom:1px dashed var(--dash)}
.link-list a{display:grid;grid-template-columns:260px 1fr auto;gap:16px;align-items:baseline;padding:11px 0;text-decoration:none}
.link-list b{font-family:var(--display);font-weight:700}
.link-list span{color:var(--sub);font-size:14.5px}
.link-list .go{font-family:var(--mono);font-size:12px;color:var(--accent)}
.link-list a:hover b{color:var(--accent)}

/* 携帯の幅 */
@media (max-width:900px){
  .body{grid-template-columns:1fr}
  .body > .main{border-right:0;padding:26px 18px}
  .body > .side{border-top:1.5px solid var(--line);padding:24px 18px}
  .phrase-app .layout{grid-template-columns:1fr}
  .phrase-app .side{position:static;max-height:none;border-right:0;border-bottom:1.5px solid var(--line);padding:20px 18px}
  .phrase-app .list{padding:20px 18px}
  .filters{flex-direction:row;flex-wrap:wrap;border:0;gap:0 14px}
  .filters button{border:0;padding:4px 0}
  .scene-list{grid-template-columns:repeat(2,1fr)}
  .part-list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body{font-size:16px}
  .sheet{margin:0;border-left:0;border-right:0}
  .cover .top .pub{display:none}
  .cover .top{grid-template-columns:auto 1fr}
  .cover.home{height:74vh}
  .cover .mast{top:60px;left:16px;right:16px}
  .cover .in{left:16px;right:16px;bottom:16px}
  .cover.home .in{grid-template-columns:1fr}
  .cover.home .in .mono{display:none}
  .wrap,.section{padding:24px 18px}
  .two{grid-template-columns:1fr;gap:22px}
  .rxlist .u{margin-left:0}
  .label{grid-template-columns:1fr}.label .l2{border-left:0;border-top:1.5px solid var(--line)}.label .l3{grid-column:1}
  .bottom{grid-template-columns:1fr}
  .turn{grid-template-columns:1fr}.turn .spk{grid-row:auto;padding:0}
  .ex .en{font-size:16.5px}
  .part-list{grid-template-columns:1fr}
  .link-list a{grid-template-columns:1fr}
  .pager{padding:14px 18px}
}

/* ---- 追加：お知らせの枠、薬学英語、ニュースで学ぶ ---- */
.block.note{border:1.5px solid var(--line);padding:18px 22px}
.block.note h2{font-size:19px;margin-top:0}
.block.feature{border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);padding:22px 0}
.block.feature h2{margin-top:0}
.linklike{font:inherit;font-weight:700;font-family:var(--display);font-size:17px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);text-align:left}
.linklike:hover{color:var(--accent)}
.vcard .meaning{display:none;margin-top:10px;padding-top:10px;border-top:1px dashed var(--dash)}
.vcard.open .meaning{display:block}
.vcard .l2 .voices{margin-top:2px}
table.vlist th{width:40%;border-left:0}
table.vlist td{vertical-align:middle}
table.vlist td,table.vlist th{border-left:0;border-right:0}
.hidden-m{color:var(--gray);font-size:13px}
.quiz{padding:14px 0;border-bottom:1px dashed var(--dash)}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices button{font:inherit;font-size:15px;border:1.5px solid var(--line);background:var(--paper);padding:6px 14px;cursor:pointer;color:var(--ink)}
.choices button:hover:not([disabled]){background:var(--accent-soft)}
.choices button.right{background:#2e6b3a;border-color:#2e6b3a;color:#fff}
.choices button.wrong{background:#9e2a1d;border-color:#9e2a1d;color:#fff}
.choices button[disabled]{cursor:default}
.explain{margin:10px 0 0;font-size:15px;color:var(--sub)}
textarea.write{width:100%;font:inherit;font-size:16px;border:1.5px solid var(--line);padding:10px 12px;resize:vertical}
details.model{margin-top:10px;border:1.5px solid var(--line);padding:8px 14px}
details.model summary{cursor:pointer;font-weight:700}
.backno li.cur .t{color:var(--accent)}
.section h2.h2 a{text-decoration:none}
.section h2.h2 a:hover{color:var(--accent)}
.two > *{min-width:0}
.h2,.block > h2,h1,h3{overflow-wrap:anywhere}

/* ---- 単語カード（R-PS と同じ、押すと裏返る単語帳。2026年9月30日） ---- */
.wdeck{position:relative;max-width:620px;margin:6px 0 4px}
/* 後ろに重なったカード（単語帳の束） */
.wdeck::before,.wdeck::after{content:"";position:absolute;inset:0;border:1.5px solid var(--line);background:var(--paper);border-radius:3px}
.wdeck::before{transform:translate(10px,10px)}
.wdeck::after{transform:translate(5px,5px)}
.wcard{position:relative;z-index:1;aspect-ratio:1.62;perspective:1400px;cursor:pointer;outline:none}
.wcard .flip{position:absolute;inset:0;transition:transform .6s cubic-bezier(.3,.7,.3,1);transform-style:preserve-3d}
.wcard.back .flip{transform:rotateY(180deg)}
.wcard .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  padding:26px 30px 34px 66px;background:var(--paper);border:1.5px solid var(--line);border-radius:3px}
/* 単語帳の穴 */
.wcard .face::before{content:"";position:absolute;left:24px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--bg);border:1.5px solid var(--line);box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.wcard .face::after{content:"";position:absolute;left:52px;top:14px;bottom:14px;border-left:1px dashed var(--dash)}
.wcard .back{transform:rotateY(180deg);background:var(--accent-soft)}
.wcard:focus-visible .face{box-shadow:0 0 0 3px var(--accent)}
.wcard .cat{position:absolute;top:12px;left:66px;right:22px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;color:var(--accent);letter-spacing:.08em}
.wcard .w{font-family:var(--display);font-weight:700;letter-spacing:-.04em;line-height:1.05;font-size:clamp(34px,6vw,58px);margin:0 0 10px;max-width:100%;overflow-wrap:anywhere}
.wcard .pron{display:flex;gap:12px;align-items:baseline;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.wcard .voices{justify-content:center}
.wcard .hint{position:absolute;bottom:10px;left:66px;right:22px;font-family:var(--mono);font-size:11px;color:var(--gray)}
.wcard .bword{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--accent);margin-bottom:8px}
.wcard .term{font-family:var(--jp);font-weight:700;font-size:clamp(20px,3vw,26px);line-height:1.4}
.wcard .expl{font-size:14.5px;color:var(--sub);margin-top:6px;max-width:30em}
.wcard .en-def{font-size:14.5px;margin-top:8px;max-width:32em}
.wcard .lsd{margin-top:10px;font-family:var(--mono);font-size:12px}
.wcard .lsd a{color:var(--accent)}
.wnews{max-width:620px;margin-top:22px;border-top:1.5px solid var(--line);padding-top:12px}
.wnews q{display:block;font-size:17px;line-height:1.65;quotes:none;margin:4px 0 8px}
@media (max-width:640px){
  .wcard{aspect-ratio:auto;min-height:300px}
  .wcard .face{padding:34px 16px 34px 50px}
  .wcard .face::before{left:14px}.wcard .face::after{left:40px}
  .wcard .cat,.wcard .hint{left:50px;right:14px}
  .wdeck::before{transform:translate(6px,6px)}.wdeck::after{transform:translate(3px,3px)}
}
.wnews .qja{margin:0 0 8px;font-size:15px;color:var(--sub)}
table.rel td.rel-m{width:55%}
.pos{font-size:13px;color:var(--gray)}

/* ---- ことばの成り立ち（接頭辞・語根・接尾辞の色分け） ---- */
:root{--c-prefix:#9a3b1e;--c-root:#1f3a5f;--c-suffix:#4f6320;--c-link:#8a8680;--c-word:#555452;--c-letter:#7b4a1c}
.morph{max-width:620px;margin-top:24px;border-top:1.5px solid var(--line);padding-top:12px}
.mp-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:8px}
.mp{display:flex;flex-direction:column;min-width:74px;border:1.5px solid currentColor;background:var(--paper)}
.mp-t{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em;color:#fff;background:currentColor;padding:4px 10px;line-height:1.2}
.mp-t{color:var(--paper)}
.mp .mp-t{background:var(--mpc)}
.mp-type{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:4px 10px 0;color:var(--mpc)}
.mp-ja{font-size:14px;padding:2px 10px 0;color:var(--ink);font-weight:700}
.mp-en{font-size:12px;padding:0 10px 6px;color:var(--gray)}
.mp-ja:last-child{padding-bottom:6px}
.mp.prefix{--mpc:var(--c-prefix);color:var(--c-prefix)}
.mp.root{--mpc:var(--c-root);color:var(--c-root)}
.mp.suffix{--mpc:var(--c-suffix);color:var(--c-suffix)}
.mp.link{--mpc:var(--c-link);color:var(--c-link);min-width:44px}
.mp.word{--mpc:var(--c-word);color:var(--c-word)}
.mp.letter{--mpc:var(--c-letter);color:var(--c-letter);min-width:52px}
.mp-plus{align-self:center;font-family:var(--mono);color:var(--gray);font-size:14px}
.mp-note{margin:10px 0 6px;font-size:15px}
.mp-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--sub)}
.mp-key::before{content:"";display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;background:var(--k)}
.mp-key.prefix{--k:var(--c-prefix)}.mp-key.root{--k:var(--c-root)}.mp-key.suffix{--k:var(--c-suffix)}
.mp-key.link{--k:var(--c-link)}.mp-key.word{--k:var(--c-word)}.mp-key.letter{--k:var(--c-letter)}
@media (max-width:640px){.mp{min-width:62px}.mp-t{font-size:19px}}
.gtabs button{font-size:14px;padding:6px 12px}
.kw-fig{margin:0;border-top:1.5px solid var(--line)}
.kw-fig img{width:100%;max-height:440px;object-fit:cover;display:block}
.kw-fig figcaption{padding:8px 34px;font-size:11.5px;color:var(--gray);border-top:1px solid var(--faint)}
.kw-fig figcaption a{color:var(--accent)}
@media (max-width:640px){.kw-fig figcaption{padding:8px 18px}}
.mp-org{font-size:11.5px;color:var(--sub);padding:4px 10px 6px;border-top:1px dashed var(--faint);margin-top:4px;line-height:1.5}
.mp-org i{font-style:italic;color:var(--ink)}
.mp-lang{font-family:var(--mono);font-size:10.5px;color:var(--mpc)}
.mp-org::before{content:"← "}

/* ---- Essay と論文の違い（旧サイトのスライドを、サイトの文字組みで作り直した図） ---- */
.evp{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--line);margin-top:14px}
.evp-col{padding:20px 22px;min-width:0}
.evp-col + .evp-col{border-left:1.5px solid var(--line)}
.evp-h{display:flex;align-items:baseline;gap:12px;border-bottom:1.5px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.evp-en{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.03em}
.evp-ja{font-family:var(--jp);color:var(--sub);font-size:14px}
.evp-row{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:baseline}
.evp-row .mono{color:var(--accent);font-size:11.5px}
.evp-row p{margin:0 0 6px;font-size:15px}
.stack{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:14px}
.st{width:100%;text-align:center;border:1.5px solid var(--line);padding:6px 10px;font-family:var(--display);font-weight:700;font-size:17px;line-height:1.25;background:var(--paper)}
.st small{display:block;font-family:var(--jp);font-weight:400;font-size:12px;color:var(--sub)}
.st.bd{width:86%;background:var(--accent-soft)}
.st.in,.st.cn{background:var(--paper)}
.st.rf{border-style:dashed;color:var(--sub);font-weight:500}
.st.tt{width:70%}
.st.ab{width:82%;background:var(--accent-soft)}
.st.hg-in{clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);border:0;background:var(--ink);color:#fff;padding:10px 20%}
.st.hg-in small,.st.hg-out small,.st.hg-mid small{color:#e8d9c6}
.st.hg-mid{width:62%;background:var(--ink);color:#fff;border:0}
.st.hg-out{clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);border:0;background:var(--ink);color:#fff;padding:10px 20%}
table.imrad th{width:22%;font-family:var(--display);font-size:17px;background:var(--accent-soft)}
table.imrad td{font-size:15px}
.evp-note{border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);padding:10px 0;margin:18px 0 0;font-size:15.5px}
@media (max-width:760px){.evp{grid-template-columns:1fr}.evp-col + .evp-col{border-left:0;border-top:1.5px solid var(--line)}}
.try .hints{border:1.5px solid var(--line);padding:10px 16px;margin:0 0 14px}
.try .hints .mono{color:var(--accent);font-size:11.5px}
.try .hints ul{margin:4px 0 0;padding-left:1.2em;font-size:16px}
.rec{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.rec audio{height:36px}
.embed.video video{position:absolute;inset:0;width:100%;height:100%;background:#000}
.where{max-width:620px;margin:24px 0 0;border-top:1.5px solid var(--line);padding-top:12px}
.where img{display:block;width:100%;max-height:380px;object-fit:contain;margin:8px 0 6px;background:var(--paper)}
.where figcaption{font-size:14.5px;color:var(--sub)}
.where .credit{font-size:11px;color:var(--gray);margin-top:4px}
.where .credit a{color:var(--accent)}
.kw-side{margin:18px 0 0}
.kw-side img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1.5px solid var(--line)}
.kw-side figcaption{font-size:10.5px;color:var(--gray);margin-top:6px;line-height:1.5}
.kw-side figcaption a{color:var(--accent)}
.credit-line{font-size:10.5px;color:var(--gray);margin:4px 0 0}.credit-line a{color:var(--accent)}
dl.credits{margin:12px 0 0;display:grid;grid-template-columns:150px 1fr;border-top:1px dashed var(--dash)}
dl.credits dt{font-family:var(--mono);font-size:12px;color:var(--accent);padding:10px 0;border-bottom:1px dashed var(--dash)}
dl.credits dd{margin:0;padding:8px 0;border-bottom:1px dashed var(--dash);font-size:14.5px}
@media (max-width:640px){dl.credits{grid-template-columns:1fr}dl.credits dt{border-bottom:0;padding-bottom:0}}

/* ホーム以外の表紙：写真を抑えて白い文字を読みやすく（2026年9月30日） */
.cover.page img.bg{filter:saturate(.72) brightness(.9)}
.cover.page::after{background:linear-gradient(180deg,rgba(14,11,8,.5) 0%,rgba(14,11,8,.34) 28%,rgba(14,11,8,.58) 58%,rgba(14,11,8,.82) 100%)}
.cover.page .in .kick{color:#f1dcc0}
.cover.page h1{text-shadow:0 1px 18px rgba(0,0,0,.45)}
.cover.page .lead{color:rgba(255,255,255,.94)}

/* Essay と論文の図：ピンク系とライトブルー系だけで（入口＝濃いブルー、中身＝淡いブルー、出口＝ピンク、Title・Abstract＝淡いピンク）2026年9月30日 */
.evp{--b1:#9dc3e4;--b2:#bcd6ee;--b3:#d0e3f4;--b4:#e2eef9;--p1:#e8a9bc;--p2:#f3cdd9;--p3:#f9e5ec;--pb:#d68ea5}
.stack .st{color:var(--ink);border:0}
.stack .st small{color:#3d4a57}
.stack .st.in,.stack .st.hg-in{background:var(--b1)}
.stack .st.bd.b1{background:var(--b2)}.stack .st.bd.b2{background:var(--b3)}.stack .st.bd.b3{background:var(--b4)}
.stack .st.hg-mid.me{background:var(--b2)}
.stack .st.hg-mid.re{background:var(--b3)}
.stack .st.cn,.stack .st.hg-out{background:var(--p1)}
.stack .st.cn small,.stack .st.hg-out small{color:#5a2f3c}
.stack .st.tt{background:#fff;border:1.5px solid var(--pb)}
.stack .st.ab{background:var(--p2)}
.stack .st.ab small,.stack .st.tt small,.stack .st.cn.pc small{color:#5a2f3c}
.stack .st.cn.pc{background:var(--p3);border:1.5px solid var(--pb)}
.stack .st.rf{background:#fff;color:var(--sub);border:1.5px dashed #a9b4bf}
.stack .st.rf small{color:var(--sub)}
table.imrad th{color:var(--ink)}
table.imrad tr.r-ab th{background:#f3cdd9}
table.imrad tr.r-in th{background:#9dc3e4}
table.imrad tr.r-me th{background:#bcd6ee}
table.imrad tr.r-re th{background:#d0e3f4}
table.imrad tr.r-di th{background:#e8a9bc}
table.imrad th small{color:inherit;opacity:.75}

/* トップの右の欄の「今日の1語」：細い欄に合わせて縦長・小さめに */
.home-deck .wcard{aspect-ratio:auto;min-height:280px}
.home-deck .wcard .face{padding:34px 14px 32px 44px}
.home-deck .wcard .face::before{left:12px;width:16px;height:16px;margin-top:-8px}
.home-deck .wcard .face::after{left:36px}
.home-deck .wcard .cat,.home-deck .wcard .hint{left:44px;right:12px;font-size:10.5px}
.home-deck .wcard .w{font-size:clamp(28px,3vw,38px)}
.home-deck .wcard .term{font-size:20px}
.home-deck .wcard .expl{font-size:13px}
.home-deck .wcard .en-def{font-size:13px;line-height:1.5}
.home-deck::before{transform:translate(6px,6px)}.home-deck::after{transform:translate(3px,3px)}
#home-word .where img{max-height:300px}
#home-word .wnews q{font-size:15px}
/* 表紙の写真の色をそのまま生かすページ（人の顔色など）。暗くするのは文字のある下だけ */
.cover.page.natural img.bg{filter:none}
.cover.page.natural::after{background:linear-gradient(180deg,rgba(14,11,8,.32) 0%,rgba(14,11,8,0) 20%,rgba(14,11,8,0) 42%,rgba(14,11,8,.5) 68%,rgba(14,11,8,.8) 100%)}
.cover.page.natural .in .kick{text-shadow:0 1px 10px rgba(0,0,0,.7)}
@media (max-width:640px){.cover.page.natural::after{background:linear-gradient(180deg,rgba(14,11,8,.32) 0%,rgba(14,11,8,0) 18%,rgba(14,11,8,.12) 34%,rgba(14,11,8,.55) 52%,rgba(14,11,8,.82) 100%)}}
/* 就活・留学の英語：お姉さんとピペットが文字に重ならないよう、写真を左右反転（パソコンの幅だけ） */
@media (min-width:641px){.cover.page.natural img.bg{scale:-1 1}}
@media (min-width:641px){.cover.page.natural{height:clamp(380px,62vh,580px)}}
/* 論文の英語：Essay と論文の違いの説明動画 */
.evp-video{margin:22px 0 0}
.evp-video video{display:block;width:100%;margin-top:8px;border:1.5px solid var(--line);background:#fff}
/* トップの表紙：開発中（β版）の札（2026年9月30日） */
.cover .beta{position:absolute;z-index:3;right:22px;top:22px;color:#fff;border:1.5px solid rgba(255,255,255,.85);padding:8px 14px;font-family:var(--jp);font-size:15px;letter-spacing:.06em;background:rgba(20,20,20,.28);text-align:right}
.cover .beta b{font-family:var(--display);font-weight:800;margin-right:10px;letter-spacing:0}
.cover .beta small{display:block;font-size:12px;letter-spacing:0;opacity:.9;margin-top:2px}
@media (max-width:640px){.cover .beta{right:16px;top:16px;font-size:13px;padding:6px 10px}.cover .beta small{display:none}}
/* 問い合わせ先のメールアドレス（画像） */
.bottom .mail-image{display:block;max-width:100%;margin-top:2px}
@media (min-width:641px) and (max-width:1000px){.bottom{grid-template-columns:repeat(2,1fr)}}
