/* =========================================================
   スタジオはじまり — LP styles
   Design system (inherited):
     書体   : Shippori Mincho (明朝) + Zen Kaku Gothic New (微細なゴシック)
     地     : クリーム #f4efe4 / #fbf8f1
     墨     : #2b2723 / #15140f
     差し色 : 真鍮 #9c7c4a (sage #6f7a52 / clay #a3654a に差し替え可)
   Layout is desktop-first (matches the PC hi-fi file); the mobile
   layout below ~860px mirrors the mobile hi-fi file.
   ========================================================= */

:root{
  --accent:#9c7c4a;          /* 真鍮 brass. swap to #6f7a52 (sage) or #a3654a (clay) */
  --accent-gold:#c9a86a;     /* accent tint used on ink backgrounds */
  --cta:#2b2723;             /* CTA fill. set to var(--accent) for an accent CTA */

  --cream:#f4efe4;
  --cream-2:#fbf8f1;
  --ink:#2b2723;
  --ink-deep:#15140f;

  --text-body:#4a443a;
  --muted:#6f685c;
  --muted-2:#9b9384;
  --muted-3:#8c8376;

  --line:#e6dfce;
  --line-2:#e8e1d1;
  --line-3:#ece4d3;

  --mincho:'Shippori Mincho', serif;
  --gothic:'Zen Kaku Gothic New', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--gothic);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* ---------- layout helpers ---------- */
.wrap{max-width:1180px;margin:0 auto;padding-left:40px;padding-right:40px;}
.wrap--1100{max-width:1100px;}
.wrap--1000{max-width:1000px;}
.wrap--980{max-width:980px;}
.wrap--900{max-width:900px;}
.section{padding-top:90px;padding-bottom:90px;}
.band{ }
.band--soft{background:var(--cream-2);border-top:1px solid var(--line-2);}
.band--bordered{border-bottom:1px solid var(--line-2);}
.band--ink{background:var(--ink);color:var(--cream);}

.section__head{text-align:center;margin-bottom:54px;}
.section__head--tight{margin-bottom:18px;}
.section__title{font-family:var(--mincho);font-weight:600;font-size:34px;line-height:1.7;margin:0;color:var(--ink);}
.section__title--md{font-size:30px;line-height:1.6;margin-bottom:14px;}
.section__title--lg{font-size:38px;line-height:1.6;margin-bottom:48px;}
.section__title.on-ink{color:var(--cream);}
.section__lede{font-family:var(--mincho);font-size:15px;line-height:1.95;color:var(--muted);margin:0;}

.eyebrow{font-family:var(--gothic);font-size:12px;letter-spacing:.24em;color:var(--accent);margin:0 0 18px;}
.eyebrow--center{text-align:center;}
.eyebrow--gold{color:var(--accent-gold);}

.accent{color:var(--accent);}
.placeholder-label{font-family:var(--gothic);font-size:11px;letter-spacing:.12em;color:rgba(74,66,52,.45);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--gothic);font-weight:700;letter-spacing:.06em;
  border-radius:4px;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, opacity .15s ease, background .15s ease, color .15s ease;
}
.btn:hover{transform:translateY(-1px);opacity:.92;}
.btn--cta{background:var(--cta);color:var(--cream);font-size:16px;padding:18px 40px;}
.btn--sm{font-size:13px;letter-spacing:.04em;padding:11px 22px;}
.btn--lg{padding:19px 56px;}
.btn--cream{background:var(--cream);color:var(--ink);font-size:16px;padding:20px 28px;width:100%;}
.btn--outline-ink{border-color:var(--ink);color:var(--ink);font-size:14px;letter-spacing:.04em;padding:13px 28px;}
.btn--outline-ink:hover{background:var(--ink);color:var(--cream);opacity:1;}
.btn--outline-soft{border-color:#cabd9f;color:#7a7059;font-size:14px;letter-spacing:.04em;padding:13px 28px;}
.btn--outline-soft:hover{background:#cabd9f;color:#2b2723;opacity:1;}

.text-link{font-family:var(--mincho);font-size:15px;color:var(--ink);border-bottom:1px solid #c3b79c;padding-bottom:3px;transition:border-color .15s ease;}
.text-link:hover{border-color:var(--ink);}

/* ---------- film / video placeholders ---------- */
.film{position:relative;border-radius:8px;overflow:hidden;
  background:linear-gradient(155deg,#e4dac4,#cabd9f);
  box-shadow:0 30px 70px rgba(40,36,28,.16);
  display:flex;align-items:center;justify-content:center;}
.film--tall{height:560px;}
.film__bar{position:absolute;left:0;right:0;height:42px;background:var(--ink-deep);}
.film__bar--top{top:0;}
.film__bar--bottom{bottom:0;}
/* HEROは実画像を全面表示するため、上下のレターボックス帯は出さない */
.film--tall .film__bar{display:none;}

.video{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  aspect-ratio:16/9;border-radius:10px;overflow:hidden;cursor:pointer;
  background:linear-gradient(150deg,#d9cdb4,#cabd9f);
  box-shadow:0 26px 60px rgba(40,36,28,.16);}
.video--narrow{max-width:900px;margin:0 auto;}
.video__play{width:78px;height:78px;border-radius:50%;background:rgba(244,239,228,.94);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(40,36,28,.22);
  transition:transform .18s ease;}
.video:hover .video__play{transform:scale(1.06);}
.video__triangle{border-left:23px solid var(--ink);border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:6px;}
.video__caption{font-family:var(--gothic);font-size:12px;letter-spacing:.12em;color:rgba(74,66,52,.6);}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line-3);box-shadow:0 14px 30px rgba(43,39,35,.16);background:#000;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ===================== HEADER ===================== */
.site-header{position:sticky;top:0;z-index:30;
  background:rgba(244,239,228,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
.brand{font-family:var(--mincho);font-size:18px;font-weight:500;letter-spacing:.1em;color:var(--ink);}
.site-nav{display:flex;align-items:center;gap:34px;}
.site-nav>a:not(.btn){font-size:13px;color:var(--muted);transition:color .15s ease;}
.site-nav>a:not(.btn):hover{color:var(--ink);}
.nav-toggle{display:none;background:none;border:none;font-size:22px;line-height:1;color:var(--ink);cursor:pointer;padding:4px 6px;}
.mobile-menu{display:none;}

/* ===================== 1. HERO ===================== */
.hero{padding-top:88px;padding-bottom:96px;display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center;}
.hero__title{font-family:var(--mincho);font-weight:600;font-size:48px;line-height:1.55;letter-spacing:.03em;margin:0;color:var(--ink);}
.hero__lede{font-family:var(--mincho);font-size:17px;line-height:2.1;color:var(--muted);margin:30px 0 0;}
.hero__actions{display:flex;align-items:center;gap:18px;margin-top:40px;}
.hero__note{font-size:12.5px;color:var(--muted-2);margin:18px 0 0;letter-spacing:.04em;}
.hero .eyebrow{margin-bottom:24px;}

/* ===================== 2. これは何 ===================== */
.what{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line-3);}
.what__item{padding:38px 30px;border-right:1px solid var(--line-3);}
.what__item:last-child{border-right:none;}
.what__num{display:block;font-family:var(--mincho);font-size:22px;color:var(--accent);margin-bottom:16px;}
.what__text{font-family:var(--mincho);font-size:16px;line-height:1.95;color:var(--text-body);margin:0;}

/* ===================== 4. コスパ ===================== */
.cost{display:flex;align-items:stretch;justify-content:center;gap:18px;max-width:860px;margin:0 auto;}
.cost__card{flex:1;border:1px solid #463f33;border-radius:8px;padding:30px 18px;min-height:210px;
  display:flex;flex-direction:column;text-align:center;}
.cost__card--hl{border-color:var(--accent);background:rgba(156,124,74,.1);}
.cost__label{font-family:var(--gothic);font-size:12px;color:var(--accent-gold);letter-spacing:.08em;}
.cost__rule{height:1px;background:#463f33;margin:18px 0;}
.cost__value{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--mincho);font-size:22px;color:#e8dcc2;}
.cost__price{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.cost__amount{font-family:var(--mincho);font-weight:600;font-size:34px;color:var(--cream);}
.cost__sub{font-family:var(--gothic);font-size:11px;color:#a79c87;letter-spacing:.04em;}
.cost__x{display:flex;align-items:center;font-family:var(--mincho);font-size:28px;color:#7a7059;}
.cost__note{font-family:var(--mincho);font-size:17px;line-height:2;color:#c4baa6;text-align:center;margin:44px 0 0;}

/* ===================== 5. 使い方 / guide(スクショ + テキスト) ===================== */
.guide{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px;}
.guide__step{display:flex;flex-direction:column;align-items:center;text-align:center;}
.guide__shot{display:block;width:100%;max-width:200px;aspect-ratio:7/12;border-radius:16px;overflow:hidden;
  background:#f1ece1;border:1px solid var(--line-3);box-shadow:0 12px 26px rgba(43,39,35,.13);}
.guide__shot img{width:100%;height:100%;object-fit:contain;display:block;}
.guide__num{font-family:var(--mincho);font-size:15px;color:var(--accent);letter-spacing:.08em;margin:18px 0 4px;}
.guide__label{font-family:var(--mincho);font-weight:600;font-size:16px;color:var(--ink);margin:0 0 6px;}
.guide__desc{font-family:var(--mincho);font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:20em;}

/* ===================== 6. ギャラリー ===================== */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.gallery__cell{aspect-ratio:16/9;border-radius:6px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,#e0d5be,#cfc2a6);}
.gallery__cell:nth-child(2){background:linear-gradient(150deg,#dcd1b9,#cabd9f);}
.gallery__cell:nth-child(3){background:linear-gradient(150deg,#ded3bc,#cdc0a4);}
.gallery__cell:nth-child(4){background:linear-gradient(150deg,#e1d6bf,#d0c3a7);}

/* ===================== 7. つくり込み ===================== */
.craft{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;}
.craft__item{border-left:2px solid var(--accent);padding:6px 0 6px 22px;}
.craft__title{font-family:var(--mincho);font-size:20px;font-weight:500;color:var(--ink);margin:0 0 10px;}
.craft__text{font-family:var(--mincho);font-size:14.5px;line-height:1.9;color:var(--muted);margin:0;}

/* ===================== 8. 比較 ===================== */
.compare{border:1px solid #e3dbca;border-radius:10px;overflow:hidden;background:#fff;font-family:var(--gothic);}
.compare__row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;font-size:14px;border-top:1px solid #efe8d8;}
.compare__row--head{font-size:13px;border-top:none;}
.compare__cell{padding:18px 12px;text-align:center;color:#a79c87;}
.compare__row--head .compare__cell{color:var(--muted-2);}
.compare__cell--rowlabel{padding-left:16px;padding-right:16px;text-align:left;color:var(--muted);}
.compare__row--head .compare__cell--rowlabel{color:var(--muted-2);}
.compare__cell--us{background:var(--ink);color:var(--cream);font-weight:700;}
.compare__cell--win{background:#f6f1e6;color:var(--accent);font-family:var(--mincho);font-weight:600;}
.lbl-short{display:none;}

/* ===================== 9. アップセル ===================== */
.upsell{display:flex;justify-content:center;}
.upsell__card{border:1px solid var(--line-3);border-radius:10px;padding:32px;background:var(--cream-2);max-width:560px;}
.upsell__title{font-family:var(--mincho);font-size:19px;font-weight:500;color:var(--ink);margin:0 0 10px;}
.upsell__text{font-family:var(--mincho);font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 22px;}

/* ===================== 10. 価格 ===================== */
.price{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.price__left{text-align:center;}
.price__kicker{font-family:var(--gothic);font-size:13px;color:#a79c87;letter-spacing:.06em;margin:0 0 8px;}
.price__amount{font-family:var(--mincho);font-weight:600;font-size:84px;line-height:1;color:var(--cream);margin:0;}
.price__was{font-family:var(--gothic);font-size:13px;color:#8a8071;text-decoration:line-through;margin:10px 0 0;}
.price__meter{margin-top:24px;}
.price__track{height:7px;border-radius:7px;background:#41392e;overflow:hidden;}
.price__fill{display:block;height:100%;background:var(--accent);}
.price__legend{display:flex;justify-content:space-between;font-family:var(--gothic);font-size:12px;color:#a79c87;margin-top:10px;}
.price__right{text-align:center;}
.price__note{font-family:var(--mincho);font-size:14px;line-height:1.95;color:#c4baa6;margin:20px 0 0;}

/* ===================== 11. FAQ ===================== */
.faq{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;row-gap:0;}
.faq__item{border-top:1px solid var(--line-2);}
.faq__q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 2px;background:none;border:none;cursor:pointer;text-align:left;
  font-family:var(--mincho);font-size:16px;color:var(--ink);}
.faq__icon{color:var(--accent);font-size:20px;line-height:1;flex:none;transition:transform .2s ease;}
.faq__item.is-open .faq__icon{transform:rotate(45deg);}
.faq__a{overflow:hidden;max-height:0;transition:max-height .28s ease;}
.faq__a p{font-family:var(--mincho);font-size:14.5px;line-height:1.95;color:var(--muted);margin:0;padding:0 2px 20px;}
.faq__contact{text-align:center;font-family:var(--mincho);font-size:14px;color:var(--muted);margin:34px 0 0;}
.faq__contact a{color:var(--accent);text-decoration:underline;}

/* ===================== 12. 最終CTA ===================== */
.final-cta{position:relative;height:420px;overflow:hidden;background:linear-gradient(160deg,#e0d5be,#cabd9f);}
.final-cta .film__bar{height:38px;}
.final-cta__inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px;}
.final-cta__title{font-family:var(--mincho);font-weight:600;font-size:38px;line-height:1.6;color:var(--ink);margin:0 0 30px;}

/* ===================== FOOTER ===================== */
.site-footer{background:var(--cream);border-top:1px solid var(--line);}
.site-footer__top{display:flex;justify-content:space-between;align-items:center;padding-top:44px;padding-bottom:44px;}
.brand--footer{font-size:17px;}
.site-footer__links{display:flex;flex-wrap:wrap;column-gap:26px;row-gap:10px;align-items:center;font-family:var(--gothic);font-size:13px;}
.site-footer__links a{color:var(--muted-3);transition:color .15s ease;}
.site-footer__links a:hover{color:var(--ink);}
.site-footer__links a.is-contact{color:#5a5347;text-decoration:underline;}
.site-footer__copy{padding-bottom:40px;font-family:var(--gothic);font-size:11px;color:#b3a890;letter-spacing:.04em;}

/* ===================== sticky mobile CTA bar ===================== */
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(43,39,35,.97);backdrop-filter:blur(6px);
  padding:13px 20px;align-items:center;justify-content:center;}
.sticky-cta .btn{flex:1;}
.sticky-cta__price{display:flex;flex-direction:column;}
.sticky-cta__amount{font-family:var(--mincho);font-size:15px;font-weight:600;color:var(--cream);line-height:1.1;}
.sticky-cta__remain{font-family:var(--gothic);font-size:10px;color:#a79c87;margin-top:2px;}

/* =========================================================
   MOBILE  (mirrors the mobile hi-fi file)
   ========================================================= */
@media (max-width:860px){
  .wrap{padding-left:24px;padding-right:24px;}
  .section{padding-top:50px;padding-bottom:50px;}
  .section__head{margin-bottom:26px;}
  .section__title{font-size:21px;line-height:1.7;}
  .section__title--md{font-size:20px;line-height:1.7;}
  .section__title--lg{font-size:23px;line-height:1.65;margin-bottom:30px;}
  .section__lede{font-size:13.5px;}
  .eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:16px;text-align:center;}

  /* header */
  .site-nav{display:none;}
  .nav-toggle{display:block;}
  .site-header__inner{padding-top:14px;padding-bottom:14px;}
  .brand{font-size:15px;letter-spacing:.08em;}
  .mobile-menu{display:none;flex-direction:column;gap:4px;padding:8px 24px 18px;
    background:rgba(244,239,228,.98);border-top:1px solid var(--line);}
  .mobile-menu.is-open{display:flex;}
  .mobile-menu>a:not(.btn){padding:11px 4px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line-2);}
  .mobile-menu>.btn{margin-top:10px;}

  /* hero */
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 34px;text-align:center;}
  .hero__media{order:-1;}
  .film--tall{height:430px;border-radius:0;box-shadow:none;}
  .film__bar{height:34px;}
  .hero__copy{padding:30px 26px 0;}
  .hero .eyebrow{margin-bottom:16px;}
  .hero__title{font-size:31px;line-height:1.62;}
  .hero__lede{font-size:14px;line-height:2;margin-top:20px;}
  .hero__actions{flex-direction:column;align-items:stretch;gap:13px;margin-top:24px;}
  .hero__actions .btn--cta{width:100%;padding:18px;font-size:15px;}
  .text-link{align-self:center;}
  .hero__note{text-align:center;font-size:11.5px;margin-top:13px;}

  /* what */
  .what{display:flex;flex-direction:column;border-top:none;gap:0;}
  .what__item{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-right:none;border-bottom:1px solid var(--line-3);}
  .what__item:last-child{border-bottom:none;}
  .what__num{margin-bottom:0;font-size:15px;flex:none;}
  .what__text{font-size:14.5px;line-height:1.9;}

  /* movie captions narrower */
  .video__triangle{border-left-width:17px;border-top-width:11px;border-bottom-width:11px;}
  .video__play{width:58px;height:58px;}

  /* cost — vertical stack */
  .cost{flex-direction:column;align-items:stretch;gap:10px;max-width:none;}
  .cost__card{flex-direction:row;align-items:center;justify-content:space-between;text-align:left;min-height:0;padding:16px 18px;}
  .cost__rule{display:none;}
  .cost__value{flex:none;font-size:18px;}
  .cost__price{flex-direction:column;align-items:flex-end;gap:2px;}
  .cost__card--hl{flex-wrap:wrap;}
  .cost__amount{font-size:24px;}
  .cost__sub{display:block;margin-top:2px;}
  .cost__x{justify-content:center;font-size:18px;line-height:1;}
  .cost__note{font-size:14px;margin-top:28px;}

  /* guide — 2 列グリッド(スマホ縦表示) */
  .guide{grid-template-columns:1fr 1fr;gap:22px 14px;}
  .guide__shot{max-width:none;}
  .guide__num{margin:12px 0 3px;font-size:13px;}
  .guide__label{font-size:14px;}
  .guide__desc{font-size:12px;line-height:1.7;}

  /* gallery — 2 cols */
  .gallery{grid-template-columns:1fr;gap:12px;}

  /* craft — single column */
  .craft{grid-template-columns:1fr;gap:14px;}
  .craft__title{font-size:16px;}
  .craft__text{font-size:13px;line-height:1.85;}

  /* compare — drop the 他ソフト自作 column, short labels */
  .compare__row{grid-template-columns:1.1fr .9fr .9fr 1fr;}
  .compare__cell--soft-only{display:none;}
  .compare__cell{padding:13px 6px;font-size:12px;}
  .compare__row--head .compare__cell{font-size:11px;}
  .compare__cell--rowlabel{padding-left:8px;padding-right:8px;}
  .lbl-full{display:none;}
  .lbl-short{display:inline;}

  /* upsell — single column */
  .upsell{grid-template-columns:1fr;gap:12px;}
  .upsell__card{padding:18px;}
  .upsell__title{font-size:15px;}
  .upsell__text{font-size:12.5px;line-height:1.85;margin-bottom:12px;}
  .btn--outline-ink,.btn--outline-soft{width:100%;padding:11px;font-size:13px;}

  /* price — stacked */
  .price{grid-template-columns:1fr;gap:0;}
  .price__amount{font-size:54px;}
  .price__meter{margin:26px 0 0;}
  .price__right{margin-top:22px;}
  .btn--cream{padding:18px;font-size:15px;}
  .price__note{font-size:12.5px;}

  /* faq — single column */
  .faq{grid-template-columns:1fr;}
  .faq__q{font-size:14px;padding:16px 2px;}
  .faq__item:last-child{border-bottom:1px solid var(--line-2);}

  /* final cta */
  .final-cta{height:330px;}
  .final-cta .film__bar{height:30px;}
  .final-cta__title{font-size:24px;line-height:1.7;}
  .btn--lg{padding:16px 44px;font-size:15px;}

  /* footer — stacked, leave room for sticky bar */
  .site-footer__top{flex-direction:column;align-items:flex-start;gap:16px;padding-top:34px;padding-bottom:0;}
  .site-footer__links{column-gap:20px;row-gap:11px;font-size:12px;}
  .site-footer__copy{padding-top:22px;padding-bottom:96px;}

  /* sticky mobile CTA */
  .sticky-cta{display:flex;}
}

@media (max-width:380px){
  .hero__title{font-size:27px;}
  .price__amount{font-size:46px;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn,.faq__a,.faq__icon,.video__play{transition:none;}
}

/* =========================================================
   LEGAL PAGES — 特商法 / プライバシー / 利用規約
   ========================================================= */
.legal{padding-top:64px;padding-bottom:96px;}
.legal__head{text-align:center;margin-bottom:54px;}
.legal__eyebrow{font-family:var(--gothic);font-size:12px;letter-spacing:.24em;color:var(--accent);margin:0 0 16px;}
.legal__title{font-family:var(--mincho);font-weight:600;font-size:30px;line-height:1.5;margin:0;color:var(--ink);}
.legal__updated{font-family:var(--gothic);font-size:12px;letter-spacing:.08em;color:var(--muted-2);margin:18px 0 0;}
.legal__lead{font-family:var(--mincho);font-size:15px;line-height:2;color:var(--text-body);margin:0 0 40px;}

/* definition table (特商法) */
.legal-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line);}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:20px 4px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.95;}
.legal-table th{width:240px;font-family:var(--gothic);font-weight:700;color:var(--ink);letter-spacing:.04em;}
.legal-table td{font-family:var(--mincho);color:var(--text-body);}

/* numbered / prose sections */
.legal-sec{margin-top:48px;}
.legal-sec__title{font-family:var(--mincho);font-weight:600;font-size:19px;line-height:1.6;color:var(--ink);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);}
.legal-sec p{font-family:var(--mincho);font-size:15px;line-height:2;color:var(--text-body);margin:0 0 14px;}
.legal-sec ul,.legal-sec ol{font-family:var(--mincho);font-size:15px;line-height:2;color:var(--text-body);margin:0 0 14px;padding-left:1.4em;}
.legal-sec li{margin-bottom:8px;}

.legal-back{display:inline-block;margin-top:56px;font-family:var(--mincho);font-size:15px;color:var(--ink);border-bottom:1px solid #c3b79c;padding-bottom:3px;}
.legal-back:hover{border-color:var(--ink);}

@media (max-width:680px){
  .legal__title{font-size:24px;}
  .legal-table th,.legal-table td{display:block;width:100%;padding:6px 0;border-bottom:none;}
  .legal-table th{padding-top:18px;}
  .legal-table td{padding-bottom:18px;border-bottom:1px solid var(--line);}
}

/* ---------- real images in film / gallery ---------- */
.film__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.gallery__cell{position:relative;overflow:hidden;}
.gallery__cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
