/* 講座の告知ページ「エスプレッソマシン解剖学」— サイトと同じ色（墨・木・コンクリート）で、雑誌の表紙のように */

/* ── 表紙の帯（トップと同じ墨色） ── */
.lx-hero{position:relative;isolation:isolate;overflow:hidden;background:#1A1816;color:#fff}
.lx-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:radial-gradient(120% 80% at 80% 10%,rgba(140,106,67,.22),transparent 60%),radial-gradient(90% 70% at 10% 90%,rgba(255,255,255,.05),transparent 60%)}
.lx-hero :focus-visible{outline-color:#fff}
.lx-hero-in{display:grid;gap:clamp(28px,5vw,64px);align-items:center;padding-block:clamp(20px,5vw,72px) clamp(44px,7vw,92px)}
@media (min-width:900px){.lx-hero-in{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}

/* 表紙：写真（下）→ 上の影 → 題字 → 人物だけ切り抜いた写真 → 下の影 → 表紙の文字 */
.cover{position:relative;margin:0;width:100%;max-width:560px;justify-self:center;aspect-ratio:3/4;overflow:hidden;
  container-type:inline-size;background:#111;box-shadow:0 30px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.06)}
.cover img{position:absolute;inset:0;width:100%;height:100%;display:block}
.cv-bg{z-index:0}
.cv-shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(16,15,14,.82) 0%,rgba(16,15,14,.5) 20%,rgba(16,15,14,0) 40%)}
.cv-top{position:absolute;z-index:2;top:4.6cqw;left:5.5cqw;right:5.5cqw;display:flex;justify-content:space-between;gap:2cqw;
  font-family:var(--f-latin),var(--f-body);font-size:2.5cqw;font-weight:500;letter-spacing:.22em;color:rgba(255,255,255,.8)}
.cv-mast{position:absolute;z-index:2;left:0;right:0;top:19cqw;text-align:center;color:#F4F1EC;line-height:.82}
.cv-sub{display:block;font-family:var(--f-latin);font-weight:500;font-size:3.3cqw;letter-spacing:.5em;padding-left:.5em;margin-bottom:1.6cqw}
.cv-big{display:block;font-family:var(--f-latin);font-weight:600;font-size:19.4cqw;letter-spacing:-.005em}
.cv-fg{z-index:3;pointer-events:none;
  -webkit-mask-image:url("/assets/lecture/cover-mask.png");mask-image:url("/assets/lecture/cover-mask.png");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.cover::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(0deg,rgba(16,15,14,.92) 0%,rgba(16,15,14,.6) 20%,rgba(16,15,14,0) 40%)}
.cv-lines{position:absolute;z-index:5;left:5.5cqw;right:5.5cqw;bottom:5cqw;color:#fff}
.cv-crown{font-family:var(--f-body);font-weight:700;font-size:3.6cqw;line-height:1.5;letter-spacing:.06em;text-shadow:0 1px 12px rgba(0,0,0,.5)}
/* 名前の上の金色の肩書き（ローンチ＝英字、講座＝日本語で数字だけ英字の書体） */
.cv-champ{display:block;margin-bottom:.9cqw;font-family:var(--f-latin);font-weight:600;font-size:2.5cqw;letter-spacing:.2em;color:var(--wood-light)}
.cv-champ.jp{font-family:var(--f-body);font-weight:700;font-size:2.6cqw;letter-spacing:.1em}
.cv-champ .num{font-family:var(--f-latin);font-weight:600;letter-spacing:.04em}
.cv-title{font-family:var(--f-display);font-weight:800;font-size:7.25cqw;line-height:1.2;letter-spacing:.02em;margin-top:1.2cqw;text-shadow:0 2px 18px rgba(0,0,0,.55);white-space:nowrap}
.cv-meta{margin-top:3.2cqw;padding-top:2.6cqw;border-top:1px solid rgba(255,255,255,.38);display:flex;justify-content:space-between;gap:3cqw;
  font-family:var(--f-latin),var(--f-body);font-size:2.9cqw;font-weight:500;letter-spacing:.16em;color:rgba(255,255,255,.9)}

/* 表紙の横の文字 */
.lx-intro{display:grid;gap:18px;align-content:center}
.lx-en{font-family:var(--f-latin);font-size:12px;font-weight:600;letter-spacing:.3em;color:var(--wood-light)}
.lx-intro h1{font-size:clamp(30px,4.2vw,50px);line-height:1.28;letter-spacing:.02em;word-break:keep-all;overflow-wrap:anywhere}
.lx-intro h1 .crown{display:block;font-family:var(--f-body);font-weight:700;font-size:clamp(14px,1.5vw,17px);letter-spacing:.08em;color:rgba(255,255,255,.76);margin-bottom:12px}
.lx-catch{font-family:var(--f-display);font-weight:800;font-size:clamp(24px,3.1vw,38px);line-height:1.4;letter-spacing:.02em;color:#fff;word-break:keep-all;overflow-wrap:anywhere}
.lx-lead{font-size:clamp(15px,1.6vw,17px);color:rgba(255,255,255,.86);max-width:34em;word-break:auto-phrase}
.lx-facts{margin:6px 0 0;border-top:1px solid rgba(255,255,255,.2)}
.lx-facts div{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2);align-items:baseline}
.lx-facts dt{font-size:13px;letter-spacing:.12em;color:rgba(255,255,255,.58)}
.lx-facts dd{margin:0;font-size:15px}
.lx-facts dd b{font-family:var(--f-latin);font-weight:600;font-size:21px;letter-spacing:.08em;margin-right:8px}
.lx-facts dd small{display:block;font-size:12.5px;color:rgba(255,255,255,.6)}
.lx-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}

/* ── この40分で、見られるもの ── */
.see-grid{display:grid;gap:clamp(24px,4vw,52px);align-items:start}
@media (min-width:900px){.see-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.see-photo{margin:0}
.see-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.see-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.see-list li{display:grid;grid-template-columns:3.4em minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.see-list .n{font-family:var(--f-latin);font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1;color:var(--wood)}
.see-list b{display:block;font-family:var(--f-display);font-weight:800;font-size:clamp(19px,2vw,22px);line-height:1.4;margin-bottom:6px}
.see-list p{color:var(--ink-2);word-break:auto-phrase}
.see-strip{margin-top:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);grid-auto-rows:clamp(200px,34vw,440px);gap:clamp(10px,1.6vw,18px)}
.see-strip img{display:block;width:100%;height:100%;object-fit:cover}

/* ── 講師 ── */
.pf-grid{display:grid;gap:clamp(24px,4vw,60px);align-items:center}
@media (min-width:900px){.pf-grid{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}
.pf-photo{margin:0}
.pf-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.pf-text{display:grid;gap:14px}
.pf-text .en{font-family:var(--f-latin);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--wood)}
.pf-text h2{font-size:clamp(36px,5vw,58px);letter-spacing:.08em}
.pf-text h2 rt{font-family:var(--f-body);font-weight:400;font-size:.3em;letter-spacing:.24em;color:var(--muted)}
.pf-role{font-size:14.5px;font-weight:700;color:var(--ink-2)}
/* 数字2つ（入社10年目・1000台以上）を、雑誌の人物紹介のように並べる */
.pf-stats{display:grid;grid-template-columns:auto auto;justify-content:start;gap:12px clamp(32px,5vw,64px);padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pf-stat{display:grid;gap:10px;align-content:start}
.pf-stat b{font-family:var(--f-latin);font-weight:500;font-size:clamp(52px,7.2vw,88px);line-height:.82;letter-spacing:-.01em;white-space:nowrap}
.pf-stat b small{font-size:.5em;vertical-align:top;margin-left:2px;color:var(--wood)}
.pf-stat b small.jp{font-family:var(--f-body);font-weight:700;font-size:.27em;vertical-align:baseline;margin-left:6px;letter-spacing:.06em;color:var(--ink)}
.pf-stat span{font-size:13px;line-height:1.6;color:var(--ink-2)}
.pf-bio-wrap{display:grid;gap:6px}
.pf-label{font-family:var(--f-latin);font-size:11.5px;font-weight:600;letter-spacing:.26em;color:var(--wood)}
.pf-bio{color:var(--ink-2);word-break:auto-phrase}

/* ── 開催概要・おわりに ── */
.lx-table{margin:0;border-top:1px solid var(--line)}
.lx-table div{display:grid;grid-template-columns:6em minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.lx-table dt{font-weight:700}
.lx-table dd{margin:0;color:var(--ink-2)}
.lx-table a{font-weight:700;color:var(--ink);text-underline-offset:3px}
.lx-note{margin-top:20px}
@media (max-width:560px){
  .lx-table div{grid-template-columns:4.6em minmax(0,1fr);gap:10px}
  .see-list li{grid-template-columns:2.8em minmax(0,1fr)}
}

/* 画面には出さず、読み上げ・検索のためだけに残す（講座名は表紙に出ているので、2回続けない） */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
