@charset "UTF-8";
/* ===================================================================
   文学講座2026「和風・文豪風」（和紙・墨・朱）
   ※ common.css の上に読み込む。クラスは bungo- で名前空間を分離
   =================================================================== */

/* 旧字体「曆」(U+66C6)はZen Old Mincho未収録→1文字だけNoto Serif JPサブセット(924B)で補い、
   全端末で明朝表示を保証する(未対策だとAndroid等でゴシック混在の恐れ) */
@font-face{
  font-family:'ZOM Reki';
  src:url("fonts/reki-u66c6.woff2") format("woff2");
  unicode-range:U+66C6;
  font-display:swap;
}

:root{
  --bg-washi:   #f4efe2;   /* 和紙の地色 */
  --bg-washi2:  #ece5d2;   /* 和紙 濃いめ */
  --bg-paper:   #fbf8ef;   /* カード紙 */
  --bg-ink:     #2b2722;   /* 墨 */
  --bg-sub:     #6b6355;   /* 薄墨 */
  --bg-shu:     #a83c2a;   /* 朱（落款） */
  --bg-rule:    #cfc4a9;   /* 罫 */
  --bg-serif:   'Zen Old Mincho','ZOM Reki',"Hiragino Mincho ProN","游明朝","Yu Mincho",YuMincho,serif;
}

/* ---- header/footer は白地（common.css の bg_full.png を無効化） ---- */
#wrapper{ background:#fff; }
#footer{ padding:40px 20px 20px; }

/* ---- 和紙の下地（コンテンツ全体） ---- */
.bungo-wrap{
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  background-color:var(--bg-washi);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='0.045'/></feComponentTransfer></filter><rect width='260' height='260' filter='url(%23n)'/></svg>");
}
.bungo-section{ width:900px; margin:0 auto; position:relative; }
.bungo-section--wide{ width:1100px; margin:0 auto; position:relative; }
.bungo-mb60{ margin-bottom:60px; }
.bungo-mb90{ margin-bottom:90px; }
.bungo-mb120{ margin-bottom:120px; }

/* ============ MV（左=写真クロスフェード／右=和紙に縦書きタイトル） ============ */
.bungo-mv{
  display:flex; width:100%; height:640px; position:relative;
  background:var(--bg-washi2);
  border-bottom:1px solid var(--bg-rule);
}
.bungo-mv__photo{
  flex:1 1 auto; min-width:0; position:relative; overflow:hidden;
}
.bungo-mv__photo img{
  width:100%; height:100%; object-fit:cover; object-position:left center;
  display:block;
}
/* イラスト右端を和紙へなじませる */
.bungo-mv__photo::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to left, var(--bg-washi2) 0, rgba(236,229,210,0) 18%);
}
.bungo-mv__text{
  flex:0 0 430px; position:relative;
  writing-mode:vertical-rl;
  display:flex; flex-direction:column;   /* vertical-rl では column=右→左の水平軸 */
  align-items:center; justify-content:center;
  gap:34px; padding:56px 40px 56px 30px;
}
.bungo-mv__title{
  font-family:var(--bg-serif); font-weight:600; color:var(--bg-ink);
  font-size:74px; letter-spacing:.26em; line-height:1.15;
  margin:0 14px 0 0;   /* 右余白＝タイトルを少し内側（左）へ */
}
.bungo-mv__title .year{
  display:block; font-size:26px; letter-spacing:.34em; font-weight:500;
  color:var(--bg-sub); margin:8px 8px 0 0;   /* margin-right=「文学講座」との列間を離す */
}
.bungo-mv__copy{
  font-size:19px; letter-spacing:.30em; line-height:2.4;
  color:var(--bg-ink); margin:0; padding-top:14px;
}
.bungo-mv__date{
  font-size:15px; letter-spacing:.28em; color:var(--bg-sub); margin:0; padding-top:20px;
}
/* 参加者募集中（丸形画像バッジ）― コピー・日付の下、MV下辺に少し掛かる */
.bungo-mv__badge{
  position:absolute; left:60px; bottom:-40px; z-index:2;
  width:190px; margin:0;
}
.bungo-mv__badge img{ width:100%; height:auto; display:block; }

/* ============ ごあいさつ（リード文） ============ */
/* 全幅。右下に水彩の読書女性を敷く（右へ少し見切れ・左は透過グラデで和紙に溶かす） */
.bungo-intro{
  text-align:center; padding-top:96px; padding-bottom:48px;
  position:relative; z-index:0;   /* overflowは隠さない＝花束が下セクションへはみ出して見える */
  min-height:330px;
}
/* 左上＝葉のスプリグ／右＝花束（線画・multiplyで和紙に馴染ませる） */
.bungo-intro::before{
  content:""; position:absolute; z-index:-1;
  left:calc(50% - 428px); top:112px;
  width:68px; height:84px;
  background:url(../img/lit_deco_leaf.webp) center/contain no-repeat;
  mix-blend-mode:multiply; opacity:.85;
}
.bungo-intro::after{
  content:""; position:absolute; z-index:-1;
  right:118px; top:78%; transform:translateY(-50%);
  width:150px; height:400px;
  background:url(../img/lit_deco_bouquet.webp) center/contain no-repeat;
  mix-blend-mode:multiply; opacity:.85;
}
@media screen and (max-width:1120px){
  .bungo-intro::after{ display:none; }   /* 狭い画面では花束がテキストと重なるため非表示 */
}
.bungo-intro__hosts{
  font-size:13px; letter-spacing:.30em; color:var(--bg-sub);
  margin:0 0 34px;
}
.bungo-intro__hosts span{ white-space:nowrap; }
.bungo-intro__name{
  font-size:15px; letter-spacing:.22em; color:var(--bg-sub); margin:0 0 10px;
}
.bungo-intro__lead{
  font-size:16px; line-height:2.6; letter-spacing:.08em;
  color:var(--bg-ink); max-width:660px; margin:0 auto;
}
/* 旧称の注記 */
.bungo-intro__former{
  font-size:13px; letter-spacing:.14em; color:var(--bg-sub); margin:30px 0 0;
}

/* ============ セクション見出し（罫 ― 見出し ― 罫） ============ */
.bungo-head{ text-align:center; margin-bottom:48px; }
.bungo-head__ja{
  display:inline-flex; align-items:center; gap:26px;
  font-family:var(--bg-serif); font-weight:600;
  font-size:28px; letter-spacing:.24em; color:var(--bg-ink);
  line-height:1.3; margin:0;
}
.bungo-head__ja::before,
.bungo-head__ja::after{
  content:""; width:56px; height:1px; background:var(--bg-rule);
}
.bungo-head__sub{
  display:block; font-size:14px; letter-spacing:.22em;
  color:var(--bg-sub); margin-top:14px; font-weight:400;
}

/* ============ 講座の楽しみ（三つ・漢数字） ============ */
.bungo-miryoku{ display:flex; gap:52px; }
.bungo-miryoku__item{ flex:1; text-align:center; }
.bungo-miryoku__no{
  display:block; font-family:var(--bg-serif); font-size:34px; font-weight:500;
  color:var(--bg-shu); line-height:1; margin-bottom:16px;
}
.bungo-miryoku__no::after{
  content:""; display:block; width:1px; height:26px;
  background:var(--bg-rule); margin:14px auto 0;
}
.bungo-miryoku__ttl{
  font-family:var(--bg-serif); font-weight:600; font-size:19px;
  letter-spacing:.16em; color:var(--bg-ink); margin:0 0 14px; line-height:1.7;
}
.bungo-miryoku__txt{
  font-size:14px; line-height:2.1; letter-spacing:.05em;
  color:var(--bg-sub); margin:0; text-align:left;
}

/* ============ 施設写真（全幅4枚・お品書きの上） ============ */
.bungo-gallery{ display:flex; gap:6px; width:100%; height:250px; overflow:hidden; }
.bungo-gallery img{
  flex:1 1 0; min-width:0; height:100%; object-fit:cover; display:block;
  filter:sepia(.10) saturate(.95);
}

/* ============ 帯写真（全幅） ============ */
.bungo-band{ width:100%; height:300px; overflow:hidden; position:relative; }
.bungo-band img{
  width:100%; height:100%; object-fit:cover; object-position:center 62%;
  filter:sepia(.16) saturate(.92);
}
.bungo-band::after{
  content:""; position:absolute; inset:0;
  box-shadow:inset 0 0 46px rgba(43,39,34,.28);
}

/* ============ 募集概要（和紙カード＋二重枠） ============ */
.bungo-overview{
  background:var(--bg-paper);
  border:3px double var(--bg-rule);
  box-shadow:0 3px 22px rgba(90,75,45,.10);
  padding:20px 54px;
}
.bungo-dl{ margin:0; }
.bungo-dl__row{
  display:flex; align-items:flex-start;
  padding:23px 0; border-bottom:1px dotted var(--bg-rule);
  line-height:2.0;
}
.bungo-dl__row:last-child{ border-bottom:0; }
.bungo-dl__row dt{
  font-family:var(--bg-serif); font-weight:600;
  color:var(--bg-ink); font-size:16px; letter-spacing:.30em;
  width:150px; flex:0 0 150px; padding-top:1px;
}
.bungo-dl__row dd{ flex:1; font-size:16px; color:var(--bg-ink); }
.bungo-dl__row dd .big{ font-size:19px; letter-spacing:.06em; font-weight:500; }
.bungo-dl__row dd .note{ display:block; font-size:13.5px; color:var(--bg-sub); margin-top:5px; line-height:1.95; }
.bungo-points{ margin:0; list-style:none; }
.bungo-points li{ position:relative; padding-left:22px; margin-bottom:5px; font-size:16px; }
.bungo-points li::before{
  content:"―"; position:absolute; left:0; top:0; color:var(--bg-shu); font-size:14px;
}
.bungo-points li:last-child{ margin-bottom:0; }
.bungo-link{ color:#1565c0; text-decoration:underline; text-underline-offset:3px; }
.bungo-link:hover{ color:#0d47a1; }

/* ============ 講師紹介 ============ */
.bungo-lecturers{ display:flex; gap:44px; }
.bungo-lect{
  flex:1; background:var(--bg-paper);
  border:1px solid var(--bg-rule);
  box-shadow:0 3px 22px rgba(90,75,45,.10);
  padding:34px 32px;
}
/* 上段＝写真＋名前まわり／下段＝紹介文 */
.bungo-lect__top{
  display:flex; gap:28px; align-items:center;
  margin-bottom:24px;
}
.bungo-lect__photo{ flex:0 0 240px; }
.bungo-lect__photo img{
  width:240px; height:300px; object-fit:cover; display:block;
  border:1px solid var(--bg-rule); padding:5px; background:#fff;
  filter:saturate(.94);
}
.bungo-lect__info{ flex:1; min-width:0; }
.bungo-lect__role{
  display:inline-block; font-size:13px; letter-spacing:.30em;
  color:#fbf6e9; background:var(--bg-ink);
  padding:4px 14px 4px 16px; margin-bottom:18px;
}
.bungo-lect__name{
  font-family:var(--bg-serif); font-weight:600; font-size:25px;
  letter-spacing:.14em; line-height:1.3; margin:0 0 6px; color:var(--bg-ink);
}
.bungo-lect__kana{
  font-size:13px; color:var(--bg-sub); letter-spacing:.16em; margin:0 0 16px;
}
.bungo-lect__title{
  font-size:14px; color:var(--bg-shu); letter-spacing:.10em; margin:0;
}
.bungo-lect__prof{ font-size:13.5px; line-height:2.0; color:var(--bg-sub); margin:0; }
.bungo-lect__note{ text-align:right; font-size:13.5px; color:var(--bg-sub); margin:18px 0 0; }

/* ============ お品書き（縦書き・会席風） ============ */
.bungo-menu__intro{
  text-align:center; font-size:16px; line-height:2.4; letter-spacing:.08em;
  color:var(--bg-ink); margin:0 0 40px;
}
.bungo-menu{
  /* PC=写真360px+縦書き献立の2列。内容約1142px → 900pxセクションから左右-165px張り出して中央 */
  width:auto; margin:0 -165px;
  background:var(--bg-paper);
  border:3px double var(--bg-rule);
  box-shadow:0 3px 22px rgba(90,75,45,.10);
  padding:48px 40px 36px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  column-gap:44px; row-gap:0;
}
/* 昼食会場写真 ― お品書きの左列（枠内・縦中央） */
.bungo-menu__photo{ flex:0 0 360px; margin:0; }
.bungo-menu__photo img{
  width:100%; height:auto; display:block; box-sizing:border-box;
  border:1px solid var(--bg-rule); padding:5px; background:#fff;
  filter:sepia(.10) saturate(.94);
}
.bungo-menu__list{
  writing-mode:vertical-rl;
  height:320px; margin:0; flex:0 0 auto;
  display:flex; flex-direction:column;   /* vertical-rl では column=右→左の水平軸 */
  justify-content:center;
}
.bungo-menu__course{ margin:0; padding:0 15px 0 0; }
.bungo-menu__course:last-of-type{ padding-right:0; }
.bungo-menu__course + .bungo-menu__course{ border-right:1px dotted var(--bg-rule); padding-right:15px; margin-right:15px; }
.bungo-menu__course dt{
  font-family:var(--bg-serif); font-weight:600; font-size:14px;
  letter-spacing:.30em; color:var(--bg-shu); margin-left:10px;
}
.bungo-menu__course--nolabel dt{ display:none; }
.bungo-menu__course dd{ margin:0; }
.bungo-menu__course dd .d{
  display:block; font-family:var(--bg-serif); font-size:17px;
  letter-spacing:.16em; line-height:1.9; color:var(--bg-ink);
}
.bungo-menu__course dd .d i{
  font-style:normal; color:var(--bg-shu); font-size:11px;
  margin-top:6px;
}
.bungo-menu__note{
  flex:0 0 100%;   /* flex親では2列の下の全幅行に */
  margin:34px auto 0; padding-top:20px; border-top:1px solid var(--bg-rule);
  font-size:13.5px; line-height:1.9; color:var(--bg-sub); max-width:600px;
}
.bungo-menu__note i{ font-style:normal; color:var(--bg-shu); margin-right:3px; }
.bungo-note{ font-size:14.5px; color:var(--bg-sub); line-height:1.9; margin:10px 0 0; }

/* ============ 当日のスケジュール ============ */
.bungo-tl{ position:relative; margin:0 0 30px; padding-left:126px; }
.bungo-tl::before{
  content:""; position:absolute; left:108px; top:8px; bottom:8px;
  width:1px; background:var(--bg-rule);
}
.bungo-tl__item{ position:relative; padding:0 0 28px; }
.bungo-tl__item:last-child{ padding-bottom:0; }
.bungo-tl__time{
  position:absolute; left:-126px; top:1px; width:92px; text-align:right;
  font-family:var(--bg-serif); font-weight:600; font-size:18px;
  letter-spacing:.06em; color:var(--bg-ink);
}
.bungo-tl__item::before{
  content:""; position:absolute; left:-22px; top:9px;
  width:9px; height:9px; border-radius:50%;
  background:var(--bg-shu);
}
.bungo-tl__act{
  font-family:var(--bg-serif); font-size:16px; letter-spacing:.08em;
  color:var(--bg-ink); margin:0 0 3px;
}
.bungo-tl__act b{ font-weight:600; margin-right:16px; }
.bungo-tl__sub{ font-size:13.5px; color:var(--bg-sub); margin:0; }
.bungo-ferry{
  background:var(--bg-paper); border:1px solid var(--bg-rule);
  padding:20px 26px; font-size:14.5px; line-height:2.05; color:var(--bg-sub);
}
.bungo-ferry strong{ color:var(--bg-ink); font-weight:600; letter-spacing:.14em; }

/* ============ お申し込み（漢数字ステップ） ============ */
.bungo-step{ margin-bottom:40px; }
.bungo-step:last-child{ margin-bottom:0; }
.bungo-step__head{
  display:flex; align-items:baseline; gap:18px;
  padding-bottom:13px; margin-bottom:18px; border-bottom:1px solid var(--bg-rule);
}
.bungo-step__no{
  font-family:var(--bg-serif); font-size:27px; line-height:1;
  color:var(--bg-shu); font-weight:500;
}
.bungo-step__ttl{
  font-family:var(--bg-serif); font-size:19px; letter-spacing:.14em;
  color:var(--bg-ink); font-weight:600;
}
.bungo-step__body{ font-size:15.5px; line-height:2.05; color:var(--bg-ink); padding-left:4px; }
.bungo-step__body a{ color:#1565c0; text-decoration:underline; text-underline-offset:3px; }
.bungo-need{
  list-style:none; margin:12px 0 0; padding:18px 22px;
  background:var(--bg-paper); border:1px solid var(--bg-rule);
  font-size:14.5px; line-height:2.0; color:var(--bg-ink);
}
.bungo-need li{ margin:0; }
.bungo-deadline{
  font-family:var(--bg-serif); font-size:18px; color:var(--bg-shu);
  letter-spacing:.10em; font-weight:600; margin:0 0 6px;
}

/* ============ 会場・施設情報（グレー帯） ============ */
.bungo-place-band{ background:#f5f5f5; padding:96px 0 110px; }
.bungo-place{ display:flex; gap:40px; align-items:center; }
.bungo-place__img{ flex:0 0 420px; }
.bungo-place__img img{
  width:420px; height:280px; object-fit:cover; display:block;
  border:1px solid var(--bg-rule); padding:6px; background:#fff;
  filter:sepia(.10) saturate(.94);
}
.bungo-place__body{ flex:1; }
.bungo-place__name{
  font-family:var(--bg-serif); font-weight:600; font-size:21px;
  letter-spacing:.16em; margin:0 0 10px; color:var(--bg-ink);
}
.bungo-place__body p{ font-size:15.5px; line-height:2.1; color:var(--bg-sub); margin:0; }

/* ============ レスポンシブ ============ */
/* お品書き: 2列分の幅が無い画面では写真を枠内上部へ・枠は元の880pxに戻す */
@media screen and (max-width:1250px){
  .bungo-menu{ width:794px; margin:0 auto; display:block; }
  .bungo-menu__photo{ max-width:560px; margin:0 auto 26px; }
  .bungo-menu__list{ margin:0 auto; }
}
@media screen and (max-width:1120px){
  .bungo-section--wide{ width:auto; margin:0 20px; }
  .bungo-lecturers{ flex-direction:column; }
}
@media screen and (max-width:980px){
  #header{ width:auto; padding:0 20px; }
  #footer{ width:auto; padding:40px 20px 20px; }
  .bungo-section{ width:auto; margin:0 20px; }
  .bungo-mv{ height:auto; flex-direction:column-reverse; }
  .bungo-mv__photo{ height:340px; }
  .bungo-mv__text{ padding:44px 20px; writing-mode:vertical-rl; height:360px; flex:none; }
  .bungo-mv__title{ font-size:52px; }
  .bungo-mv__badge{ left:20px; bottom:-30px; width:150px; }
  .bungo-gallery{ height:170px; }
  .bungo-miryoku{ flex-direction:column; gap:36px; }
  .bungo-overview{ padding:10px 24px; }
  .bungo-dl__row{ flex-direction:column; }
  .bungo-dl__row dt{ width:auto; flex:none; margin-bottom:6px; }
  /* お品書き：縦書き→横書きに切替（縦書きは内容幅736pxで親を無視して広がるため） */
  .bungo-menu{ width:auto; }
  .bungo-menu__list{ writing-mode:horizontal-tb; height:auto; display:block; }
  .bungo-menu__course{ padding:13px 0; text-align:center; }
  .bungo-menu__course + .bungo-menu__course{ border-right:0; border-top:1px dotted var(--bg-rule); margin-right:0; padding-right:0; }
  .bungo-menu__course:last-of-type{ padding-bottom:4px; }
  .bungo-menu__course dt{ font-size:13px; margin:0 0 6px; }
  .bungo-menu__course dd .d{ font-size:16px; line-height:2.0; letter-spacing:.1em; }
  .bungo-menu__course dd .d i{ margin-top:0; margin-left:4px; }
  .bungo-place{ flex-direction:column; }
  .bungo-place__img{ flex:none; width:100%; }
  .bungo-place__img img{ width:100%; height:auto; }
}

/* ============ スマホ（640px以下） ============ */
@media screen and (max-width:640px){
  body{ overflow-x:hidden; }

  /* --- header / footer --- */
  #header{ padding:0 12px; }
  .headerinner{ padding:12px 0 14px; }
  .headerinner h1{ float:none; padding-top:0 !important; font-size:10px; line-height:1.7; text-align:center; margin-bottom:10px; }
  .toplist{ display:none; }
  .headerlogo{ position:static; text-align:center; }
  .headerlogo img{ width:100px; height:auto; }
  #footer{ padding:40px 16px 20px; }
  #footer .tac{ margin-bottom:14px !important; }
  #copyright{ font-size:10px; line-height:1.9; padding-bottom:16px; }

  /* --- 共通 --- */
  .bungo-section, .bungo-section--wide{ margin:0 18px; }
  .bungo-mb120{ margin-bottom:70px; }
  .bungo-mb90{ margin-bottom:52px; }
  .bungo-head{ margin-bottom:34px; }
  .bungo-head__ja{ font-size:20px; letter-spacing:.14em; gap:10px; flex-wrap:wrap; justify-content:center; }
  .bungo-head__ja::before, .bungo-head__ja::after{ width:20px; }
  .bungo-head__sub{ font-size:15px; width:100%; margin-top:0; order:1; }  /* 罫の後ろへ回し2行目全幅に */
  .bungo-note{ font-size:15px; text-align:left !important; }

  /* --- MV --- */
  .bungo-mv__photo{ height:240px; height:min(68vw,290px); }  /* 375px→255px / 430px→290px と画面幅に追従（前段は旧iOS用フォールバック） */
  .bungo-mv__text{ height:320px; padding:0 12px 34px; gap:20px; }
  .bungo-mv__title{ font-size:42px; }
  .bungo-mv__title .year{ font-size:17px; }
  .bungo-mv__copy{ font-size:15px; letter-spacing:.22em; line-height:2.2; padding-top:8px; }
  .bungo-mv__date{ letter-spacing:.22em; padding-top:10px; }  /* font-sizeは共通15px */
  .bungo-mv__badge{ left:10px; bottom:-40px; width:106px; }

  /* --- ごあいさつ --- */
  .bungo-intro{ padding-top:58px; padding-bottom:30px; min-height:0; }
  /* 水彩装飾はSPでも残す（小さく・端へ寄せて本文と重ねない） */
  .bungo-intro::before{ display:block; left:10px; top:6px; width:42px; height:52px; }
  .bungo-intro::after{ display:block; right:0; top:auto; bottom:-140px; transform:none; width:72px; height:185px; }
  .bungo-intro__hosts{ font-size:15px; letter-spacing:.12em; margin-bottom:24px; line-height:2.0; }
  .bungo-intro__lead{ font-size:15px; line-height:2.25; letter-spacing:.04em; text-align:left; margin:0 18px; }
  .bungo-intro__lead br{ display:none; }
  .bungo-intro__former{ font-size:15px; margin:22px 18px 0; text-align:left; }

  /* --- 講座のたのしみ --- */
  .bungo-miryoku{ gap:32px; }
  .bungo-miryoku__no{ font-size:28px; margin-bottom:12px; }
  .bungo-miryoku__no::after{ height:20px; margin-top:11px; }
  .bungo-miryoku__ttl{ font-size:17px; margin-bottom:10px; }
  .bungo-miryoku__txt{ font-size:15px; line-height:2.0; }

  /* --- 帯写真 --- */
  .bungo-band{ height:170px; height:clamp(160px,46vw,200px); }

  /* --- 募集概要 --- */
  .bungo-overview{ padding:4px 16px; }
  .bungo-dl__row{ padding:16px 0; line-height:1.9; }
  .bungo-dl__row dt{ font-size:15px; letter-spacing:.22em; margin-bottom:4px; }
  .bungo-dl__row dd{ font-size:15px; }
  .bungo-dl__row dd .big{ font-size:17px; }
  .bungo-dl__row dd .note{ font-size:15px; line-height:1.85; }
  .bungo-points li{ font-size:15px; padding-left:18px; margin-bottom:7px; }

  /* --- 講師紹介 --- */
  .bungo-lecturers{ gap:28px; }
  .bungo-lect{ padding:24px 18px; }
  .bungo-lect__top{ flex-direction:column; gap:16px; margin-bottom:16px; }
  .bungo-lect__photo{ flex:none; }
  .bungo-lect__photo img{ width:190px; height:238px; }
  .bungo-lect__info{ text-align:center; }
  .bungo-lect__role{ font-size:15px; padding:3px 14px 3px 16px; margin-bottom:12px; }
  .bungo-lect__name{ font-size:21px; margin-bottom:4px; }
  .bungo-lect__kana{ font-size:15px; margin-bottom:10px; }
  .bungo-lect__title{ font-size:15px; }
  .bungo-lect__prof{ font-size:15px; line-height:2.0; }
  .bungo-lect__note{ font-size:15px; text-align:left; margin-top:14px; }

  /* --- ギャラリー（2×2） --- */
  .bungo-gallery{ flex-wrap:wrap; height:auto; gap:4px; }
  .bungo-gallery img{ flex:0 0 calc(50% - 2px); height:118px; height:clamp(112px,32vw,140px); }

  /* --- お品書き（横書き化は980pxブロックで実施済み。ここはサイズ調整のみ） --- */
  .bungo-menu__intro{ font-size:15px; line-height:2.1; margin:0 0 26px; text-align:left; }
  .bungo-menu__intro br{ display:none; }
  .bungo-menu{ padding:22px 18px; }
  .bungo-menu__photo{ margin-bottom:18px; }
  .bungo-menu__photo img{ padding:4px; }
  .bungo-menu__course dt{ font-size:15px; }
  .bungo-menu__course dd .d{ font-size:15px; }
  .bungo-menu__course dd .d i{ font-size:12px; }  /* ★印は記号のためやや小さく */
  .bungo-menu__note{ margin-top:20px; padding-top:14px; font-size:15px; }

  /* --- スケジュール --- */
  .bungo-tl{ padding-left:86px; }
  .bungo-tl::before{ left:68px; }
  .bungo-tl__time{ left:-86px; width:56px; font-size:15px; }
  .bungo-tl__item{ padding-bottom:22px; }
  .bungo-tl__item::before{ left:-22px; top:8px; width:8px; height:8px; }
  .bungo-tl__act{ font-size:15px; }
  .bungo-tl__act b{ display:block; margin-right:0; }
  .bungo-tl__sub{ font-size:15px; }
  .bungo-ferry{ padding:16px 16px; font-size:15px; line-height:2.0; }

  /* --- お申し込み --- */
  .bungo-step{ margin-bottom:32px; }
  .bungo-step__head{ gap:12px; padding-bottom:10px; margin-bottom:14px; }
  .bungo-step__no{ font-size:22px; }
  .bungo-step__ttl{ font-size:16.5px; }
  .bungo-step__body{ font-size:15px; line-height:1.95; padding-left:0; }
  .bungo-need{ padding:14px 16px; font-size:15px; line-height:1.95; }
  .bungo-deadline{ font-size:16px; }

  /* --- 会場・施設情報 --- */
  .bungo-place-band{ padding:56px 0 64px; }
  .bungo-place{ gap:20px; }
  .bungo-place__img img{ padding:4px; }
  .bungo-place__name{ font-size:18px; }
  .bungo-place__body p{ font-size:15px; line-height:2.0; }
}
