@charset "UTF-8";
/* =========================================================
   高速バス させぼ号 LP（PC デザイン幅 1120px ／ SP 1023px以下）
   数値は 03_out/佐世保LP（2026_0924修正）.pdf から採寸
   配置：各要素の --x / --y は PDF のページ座標(pt=px)、
         セクションの --s はそのセクションの PDF 上の開始 y、
         .blk（写真・イラストなどの組み）の中の要素はブロック左上からの相対位置になる
   ウェイト：PDF指定から1段階上げ（明朝 +100／丸ゴシックは縁取りで M 相当）
   ========================================================= */

/* 手書き系書体（TA-恋心 / よすがら / PD Americano）は PDF から輪郭化した SVG（img/type/）で配置 */

:root {
  --pink: #a6446a;
  --pink-light: #d3a8bc;
  --pink-tag: #dfa1bc;
  --navy: #20426d;
  --navy-mid: #475d80;
  --navy-dark: #193054;
  --ink: #3a3a3a;
  --gray: #717171;
  --gray-dark: #575757;
  --gray-light: #8b8b8b;
  --cream: #faf5f1;
  --gold: #cda476;
  --card: #fff6fa;
  --yellow: #fefb00;

  --f-goth: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "TsukuARdGothic-Regular", "Zen Maru Gothic", sans-serif;
  --f-min: "Shippori Mincho B1", serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: #fff;
  color: var(--ink);
  font-family: var(--f-goth);
  font-feature-settings: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke-width: .025em;   /* 筑紫A丸ゴシック R→M / B→E 相当（ローカルはR・Bのみのため） */
  overflow-x: hidden;
}
img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* ---------- レイアウト基盤 ---------- */
.sec { position: relative; width: 100%; }
.sec > .in { position: relative; width: 1120px; height: 100%; margin: 0 auto; }
.a {
  position: absolute;
  left: calc((var(--x) - var(--ox, 0)) * 1px);
  top: calc((var(--y) - var(--oy, var(--s))) * 1px);
}
/* 組みブロック：PCでは絶対配置、SPでは縦積み＋親幅に合わせて縮小（data-fit＝デザイン幅） */
.blk {
  position: absolute; --ox: var(--x); --oy: var(--y);
  left: calc(var(--x) * 1px);
  top: calc((var(--y) - var(--s)) * 1px);
}
.grp { display: contents; }
.bleed { position: absolute; left: 0; width: 1120px; top: calc((var(--y) - var(--s)) * 1px); }
/* info 以外のセクションは 1120px デザインを画面幅いっぱいに拡大（--z は head 内スクリプトで設定） */
.sec:not(.info) { zoom: var(--z, 1); }
.rot { transform-origin: 0 0; }
.clip { overflow: hidden; }
.fill { width: 100%; height: 100%; }
.vec { overflow: visible; }
.multiply { mix-blend-mode: multiply; }

/* テキスト共通 */
.t { white-space: nowrap; }
.goth { font-family: var(--f-goth); font-weight: 400; }
.goth-b { font-family: var(--f-goth); font-weight: 700; }
.min-r { font-family: var(--f-min); font-weight: 500; -webkit-text-stroke-width: 0; }
.min-sb { font-family: var(--f-min); font-weight: 700; -webkit-text-stroke-width: 0; }
.min-b { font-family: var(--f-min); font-weight: 800; -webkit-text-stroke-width: 0; }
.c-pink { color: var(--pink); }
.c-pinkl { color: var(--pink-light); }
.c-white { color: #fff; }
.center { text-align: center; }
.br-sp { display: none; }   /* SPのみの改行 */

/* 白ボックス見出し（PDF：白ベタ座布団） */
.plate { background: #fff; }

/* 写真フレーム（白フチ＋ドロップシャドウ：乗算19%） */
.frame { background: #fff; box-shadow: 9px 9px 30px rgba(0, 0, 0, .19); }
.shadow { box-shadow: 9px 9px 30px rgba(0, 0, 0, .19); }

/* 点線アンダーライン（PDF：#d3a8bc 2pt 線分6 間隔9 丸線端） */
.dotline { position: absolute; height: 2px; overflow: visible; }

/* ---------- ボタン ---------- */
.btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: var(--pink); color: #faf5f1; font-weight: 700; letter-spacing: .03em;
  transition: opacity .2s;
}
.btn:hover { opacity: .85; }
.btn .main { line-height: 1.5; }
.btn .sub { line-height: 1.5; }

/* =========================================================
   HEADER  (y 0–98)
   ========================================================= */
.header { --s: 0; height: 98px; background: var(--cream); }
.header .logo { font-size: 16px; line-height: 24px; letter-spacing: .133em; color: var(--navy-mid); font-weight: 700; }
.header .btn { width: 137.3px; height: 38px; border-radius: 19px; font-size: 14px; }

/* =========================================================
   HERO  (y 98–825.3)
   ========================================================= */
.hero { --s: 98; height: 727.3px; background: linear-gradient(180deg, #efe8ef 0%, #faf6f1 100%); }
.hero .glow { width: 442px; height: 442px; border-radius: 50%;
  background: radial-gradient(circle closest-side, rgba(207, 215, 228, .85) 0%, rgba(214, 220, 231, .55) 45%, rgba(239, 232, 239, 0) 100%); }
.hero .catch-text { font-size: 26px; line-height: 39px; letter-spacing: .133em; color: var(--pink); font-weight: 700; }
.hero .tagbox { background: #fff; height: 51.4px; }
.hero .tag-label { font-size: 16px; line-height: 24px; color: #fff; font-weight: 700; letter-spacing: .12em; }
.hero .tag-time { font-size: 13px; line-height: 20px; font-weight: 700; color: var(--gray-dark); letter-spacing: .133em; }
.hero .tag-time em { font-style: normal; color: var(--pink); }
.hero .normal { font-size: 16px; line-height: 24px; letter-spacing: .058em; color: var(--gray-light); font-weight: 700; }
.hero .webnara { font-size: 16px; line-height: 24px; color: var(--navy-mid); font-weight: 700; }
.hero .price-kata { font-size: 28px; line-height: 42px; color: var(--pink); }
.hero .price-num { font-size: 48px; line-height: 72px; letter-spacing: .068em; color: var(--pink); }
.hero .price-yen { font-size: 22px; line-height: 33px; color: var(--pink); }
.hero .btn { width: 372.1px; height: 56.5px; border-radius: 28.25px; box-shadow: 9px 9px 25px rgba(0, 0, 0, .2); }
.hero .btn .main { font-size: 16px; }
.hero .btn .sub { font-size: 8px; }

/* =========================================================
   REASON  (y 825.3–1840)
   ========================================================= */
.reason { --s: 825.3; height: 1014.7px; }
.reason .ttl { font-size: 29px; line-height: 48px; letter-spacing: .133em; }
.reason .lead { font-size: 19px; line-height: 48px; letter-spacing: .133em; }
.reason .card-bg { width: 373.3px; height: 208px; background: linear-gradient(90deg, #faf7f2 0%, #e9d9df 100%); }
.reason .icon-ring { width: 81.3px; height: 81.3px; border: 1px solid #fff; border-radius: 50%; }
.reason .card-ttl { font-size: 22px; line-height: 32px; letter-spacing: .148em; }
.reason .card-txt { font-size: 14px; line-height: 33px; letter-spacing: .062em; color: var(--gray); }
.reason .note { font-size: 11px; line-height: 16px; color: var(--gray); }

/* =========================================================
   ROUTE  (y 1840–2420)
   ========================================================= */
.route { --s: 1840; height: 580px; z-index: 1; }
.route .cream { height: 432px; background: var(--cream); }
.route .ttl { font-size: 29px; line-height: 58px; letter-spacing: .133em; }
.route .txt { z-index: 1; font-size: 14px; line-height: 31px; letter-spacing: .062em; color: var(--gray); }   /* 地図の左端と重なるため前面に */
.route .map-wrap { width: 587.3px; height: 512.4px; overflow: hidden; }
.route .map-fade { width: 587.3px; height: 79px; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 55%); }
.route .place { font-size: 29px; line-height: 44px; letter-spacing: .133em; }
.route .place-en { font-size: 14px; line-height: 21px; letter-spacing: .062em; }
.route .ride { font-size: 16px; line-height: 22px; letter-spacing: .062em; color: var(--navy-mid); }
.route .note-mark { font-size: 24.1px; line-height: 1; color: var(--gray-dark); transform: rotate(14deg); }

/* =========================================================
   JOURNEY  (y 2420–4870)
   ========================================================= */
.journey { --s: 2420; height: 2450px; }
.journey .band { background: var(--cream); }
.journey .ttl { font-size: 29px; line-height: 48px; letter-spacing: .133em; }
.journey .sub-ttl { font-size: 29px; line-height: 44px; letter-spacing: .133em; }
.journey .txt { font-size: 14px; line-height: 31px; letter-spacing: .062em; color: var(--gray); }
.journey .photo { width: 414.8px; height: 541.4px; overflow: hidden; }
.journey .num { font-size: 48px; line-height: 72px; color: #fff; }
.journey .bubble-txt { font-size: 14px; line-height: 19px; letter-spacing: .062em; color: var(--gray-dark); font-weight: 700; }
.journey .chip {
  display: flex; align-items: center; justify-content: center;
  height: 49.3px; border: 1px solid var(--gold); border-radius: 24.65px; background: var(--cream);
  font-size: 16px; letter-spacing: .062em; color: var(--navy-mid); font-weight: 700;
}

/* =========================================================
   WEB予約  (y 4870–6120)
   ========================================================= */
.web { --s: 4870; height: 1250px; z-index: 1; }
.web .navy { height: 1190.2px; background: var(--navy); }
.web .badge { width: 167.9px; height: 41.7px; background: var(--pink-light); }
.web .badge-txt { font-size: 16px; line-height: 24px; letter-spacing: .062em; color: var(--navy-dark); font-weight: 700; }
.web .ttl { font-size: 29px; line-height: 44px; letter-spacing: .133em; color: #fff; }
.web .txt { font-size: 19px; line-height: 48px; letter-spacing: .133em; color: #fff; }
.web .hand-clip { width: 268.1px; height: 199.1px; overflow: hidden; }
.web .p-lbl { font-size: 23px; line-height: 34px; letter-spacing: .062em; color: #fff; font-weight: 700; }
.web .p-old { font-size: 26px; line-height: 39px; letter-spacing: .062em; color: #fff; font-weight: 700; }
.web .p-old small { font-size: 22px; }
.web .p-yen { font-size: 43px; line-height: 64px; color: #fff; font-weight: 700; }
.web .p-new { font-size: 64px; line-height: 96px; letter-spacing: -.049em; color: #fff; font-weight: 700; }
.web .p-tilde { font-size: 43px; line-height: 64px; color: #fff; font-weight: 400; }
.web .c-ttl { font-size: 23px; line-height: 34px; letter-spacing: .062em; font-weight: 700; }
.web .c-num { font-size: 58px; line-height: 87px; letter-spacing: -.049em; color: var(--navy-dark); font-weight: 700; }
.web .c-num.n2 { letter-spacing: -.009em; }
.web .c-unit { font-size: 19px; line-height: 28px; letter-spacing: -.146em; color: var(--gray-light); font-weight: 700; }
.web .c-txt { font-size: 14px; line-height: 23px; letter-spacing: -.054em; color: var(--gray-light); text-align: center; }
.web .btn { width: 215.8px; height: 73.2px; border-radius: 36.6px; }
.web .btn .main { font-size: 14px; }
.web .btn .sub { font-size: 8px; }

/* =========================================================
   INFORMATION / FAQ  (y 6120–8397)
   ========================================================= */
.info { padding: 101px 0 60px; background: #fff; }   /* 余白は PDF 採寸値（INFORMATION上端 y6221 ／ 最終回答〜CLOSING 60px） */
.info-in { width: 912px; margin: 0 auto; }                /* 他コンテンツ（価格ボックス・券種カード x104〜1016）と同幅 */
.info .en { font-size: 14px; line-height: 21px; letter-spacing: .062em; color: var(--pink); }
.info .en.faq { margin-top: 74px; letter-spacing: .012em; }
.info .ttl { margin-top: 34px; font-size: 26px; line-height: 39px; letter-spacing: .133em; }
.info .lead { font-size: 16px; line-height: 24px; letter-spacing: .062em; color: var(--gray); }
.info .ttl + .lead { margin-top: 29.5px; }
.info .q { font-size: 16px; line-height: 24px; letter-spacing: .062em; color: var(--navy); font-weight: 700; }
.info .a-txt { font-size: 16px; line-height: 31px; letter-spacing: .062em; color: var(--gray); }

/* アコーディオン（PDF：区切り線 #cda476 0.25pt、見出し上 26px、見出し〜本文 7px、本文下 31px） */
.info .acc { margin-top: 29px; border-top: 1px solid rgba(205, 164, 118, .25); }
.info .ttl + .acc { margin-top: 34px; }
.acc-item { border-bottom: 1px solid rgba(205, 164, 118, .25); }
.acc-head {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  padding: 26px 3px 26px; list-style: none; cursor: pointer;
}
.acc-head::-webkit-details-marker { display: none; }
.acc-item[open] > .acc-head { padding-bottom: 7px; }
.acc-head:hover .q { opacity: .75; }
/* 開閉アイコン：PDFの「ー」（#cda476 16px）＋閉時は縦線を加えて「＋」 */
.acc-icon { position: relative; flex: none; width: 16px; height: 16px; margin-right: 10px; }
.acc-icon::before, .acc-icon::after { content: ""; position: absolute; left: 1px; right: 1px; top: 50%; height: 2px; margin-top: -1px; background: var(--gold); border-radius: 1px; transition: transform .25s; }
.acc-icon::after { transform: rotate(90deg); }
.acc-item[open] .acc-icon::after { transform: rotate(0deg); }
.acc-body { padding: 0 3px 31px; }
.acc-body .a-txt + .timetable, .acc-body .lead + .stop-map { margin-top: 16px; }
.acc-body .lead + .stop-map { margin-top: 37px; }

/* タブ（時刻表・のりば案内 共通） */
.tab-list { display: flex; gap: 8px; margin-bottom: 10px; }
.tab {
  height: 32px; padding: 0 16px; border: 1px solid var(--gold); border-radius: 16px; background: #fff;
  font-family: var(--f-goth); font-size: 13px; font-weight: 700; letter-spacing: .062em; color: var(--navy-mid); cursor: pointer;
}
.tab.is-active { background: var(--navy); border-color: var(--navy); color: #fff; }
.tt-panel, .map-panel { display: none; }
.tt-panel.is-active, .map-panel.is-active { display: block; }

/* 時刻表（出典：01_in/ec1caec4ddc262eac1dbcd59a1205680.pdf 3P） */
.tt-scroll { overflow-x: auto; border-top: 1px solid #c9c9c9; border-left: 1px solid #c9c9c9; -webkit-overflow-scrolling: touch; }
.tt-table { border-collapse: separate; border-spacing: 0; font-size: 12px; line-height: 1.2; color: #000; white-space: nowrap; }
.tt-table th, .tt-table td { border-right: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; font-weight: 400; }
.tt-table td { min-width: 46px; height: 34px; line-height: 1; padding: 0 4px; text-align: center; font-variant-numeric: tabular-nums; }
.tt-table thead td, .tt-table thead th { height: 22px; font-size: 11px; background: #fff; }
.tt-table .tt-side, .tt-table .tt-name { position: sticky; z-index: 1; }
.tt-table .tt-side { left: 0; width: 20px; min-width: 20px; padding: 0; background: #fff; }
.tt-table .tt-side span { display: block; writing-mode: vertical-rl; margin: 0 auto; font-size: 11px; letter-spacing: .1em; }
.tt-table .tt-name { left: 20px; min-width: 230px; padding: 2px 8px; line-height: 1.1; text-align: left; background: #fff; box-shadow: 2px 0 3px rgba(0, 0, 0, .08); }
.tt-table thead .tt-name { text-align: center; }
.tt-table .tt-name .ja { display: block; height: 15px; font-size: 12px; line-height: 15px; }
.tt-table .tt-name .en { display: block; height: 12px; font-size: 9.5px; line-height: 12px; color: #444; }
.tt-table tr.is-board td, .tt-table tr.is-board .tt-name, .tt-table .tt-side.is-board { background: #fff2cc; }
.tt-table tr.is-alight td, .tt-table tr.is-alight .tt-name, .tt-table .tt-side.is-alight { background: #ddebf7; }
.tt-table .is-non { background: #006fc0; color: #fff; }
.tt-table .is-local { background: #ffff00; }
.tt-table .is-super { background: #ffc000; }
.tt-table .is-red { color: #ff0000; }
.tt-note { margin-top: 4px; font-size: 11px; line-height: 1.4; color: var(--gray); letter-spacing: .03em; }
.tt-note.is-red { color: #ff0000; }
.tt-date { margin-top: 0; text-align: right; }
.tt-table thead tr > * { position: sticky; top: 0; z-index: 2; }
.tt-table thead tr + tr > * { top: 22px; }
.tt-table thead .tt-side, .tt-table thead .tt-name { z-index: 3; }

/* のりば案内（Google マップ） */
.map-panel iframe { display: block; width: 100%; height: 420px; border: 0; border-radius: 5.1px; background: #d2d2d2; }

/* =========================================================
   CLOSING  (y 8397–9204.5)
   ========================================================= */
.closing { --s: 8397; height: 807.5px; background: var(--cream); overflow: hidden; }
.closing .photo-clip { width: 1120px; height: 730px; overflow: hidden; }
.closing .fade { width: 1120px; height: 481px;
  background: linear-gradient(180deg, #faf5f1 0%, rgba(250, 245, 241, .97) 30%, rgba(250, 245, 241, .9) 50%, rgba(250, 245, 241, .55) 78%, rgba(250, 245, 241, 0) 100%); }
.closing .msg { font-size: 26px; line-height: 58px; letter-spacing: .136em; text-align: center; width: 1120px; }
.closing .btn { width: 405.8px; height: 82.1px; border-radius: 41.05px; box-shadow: 9px 9px 25px rgba(0, 0, 0, .13); }
.closing .btn .main { font-size: 14px; }
.closing .btn .sub { font-size: 12px; font-weight: 400; }

/* =========================================================
   RESPONSIVE：SP / タブレット（1023px以下）
   ・セクションは縦1カラム（最大640px）に組み替え
   ・写真／イラストの組み（.blk）はPCの構図のまま親幅に合わせて縮小（head内スクリプト）
   ・本文テキストは通常フローで折り返し
   ========================================================= */
@media (max-width: 1023px) {
  .sec.sec { height: auto; zoom: 1; }
  .sec > .in {
    width: auto; max-width: 640px; height: auto; margin: 0 auto; padding: 56px 20px;
    display: flex; flex-direction: column; align-items: center; gap: 24px;
  }
  .in > .a, .grp > .a { position: relative; left: auto; top: auto; }
  .blk { position: relative; left: auto; top: auto; flex: none; }
  .grp { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: 100%; }
  .sp-hide, .bleed, .in > .plate, .grp > .plate { display: none !important; }
  .in > .min-sb, .in > .min-r, .grp > .min-sb { letter-spacing: .06em; }
  .in > .t, .grp > .t { white-space: normal; }
  .br-sp { display: inline; }
  .in > .txt br, .grp > .txt br { display: none; }
  .in > .txt, .grp > .txt { width: 100%; }

  /* 白ベタ座布団の見出し（PCの .plate の代わり） */
  .pl { background: #fff; padding: .15em .55em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
  /* 点線アンダーライン（PCはPDFのベクター） */
  .u-dot { background: radial-gradient(circle, var(--pink-light) 1px, transparent 1.2px) 0 100% / 8px 3px repeat-x; padding-bottom: 3px; }

  .btn { width: 100%; max-width: 340px; height: 60px; border-radius: 30px; }

  /* HEADER */
  .header .in { flex-direction: row; justify-content: space-between; max-width: none; padding: 12px 16px; }
  .header .logo { font-size: 14px; }
  .header .btn { width: auto; height: 34px; padding: 0 16px; font-size: 13px; }

  /* HERO */
  .hero .in { padding: 32px 20px 48px; gap: 20px; }
  .hero-tags { gap: 12px 8px; }
  .hero .btn { width: 100%; max-width: 340px; }
  .hero .btn .main { font-size: 17px; }
  .hero .btn .sub { font-size: 10px; }

  /* REASON */
  .reason .in { gap: 12px; }
  .reason .ttl { font-size: 22px; line-height: 1.6; text-align: center; }
  .reason .lead { font-size: 14px; line-height: 1.9; letter-spacing: .04em; text-align: center; }
  .reason .ttl + .lead { margin-top: 12px; }
  .reason-cards { width: 100vw; gap: 0; margin-top: 32px; }   /* カードは画面幅いっぱい（data-max=2 まで拡大） */
  .reason-cards > .blk + .blk { margin-top: 24px; }

  /* ROUTE */
  .route { background: var(--cream); }
  .route .ttl { width: 100%; font-size: 21px; line-height: 2.1; }
  .route .txt { font-size: 14px; line-height: 2.1; }
  .route-map { overflow: hidden; }
  .route .map-fade { display: none; }

  /* JOURNEY */
  .journey .in { padding-bottom: 0; }
  .journey .ttl { font-size: 21px; line-height: 1.7; text-align: center; }
  .step {
    flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 20px;
    width: 100vw; padding: 40px max(20px, calc(50vw - 300px)) 48px; background: var(--cream);
  }
  .step + .step { margin-top: -24px; border-top: 1px solid #fff; }
  .step > * { order: 3; }
  .step .verb { order: 0; align-self: flex-start; }
  /* 人物＋吹き出しは写真の右下に深めに重ねる（番号バッジは写真の左上へ移動） */
  .step .step-photo { order: 1; }
  .step .step-person { order: 2; align-self: flex-end; position: relative; z-index: 2; margin-top: -250px; }
  .step:last-child .step-person { margin-top: -420px; }
  /* 01・02は右へ寄せる（画像右側の透明部分・吹き出しの端が画面内に収まる範囲） */
  .step01 .step-person { left: 70px; }
  .step { overflow-x: clip; }   /* 右へ寄せた人物画像の透明余白で横スクロールが出ないように */
  .step02 .step-person { left: 38px; }
  .step-photo .vec, .step-photo .num { transform: translateX(-385px); }
  .journey .sub-ttl { width: 100%; font-size: 19px; line-height: 2.1 !important; }
  .journey .txt { font-size: 14px; line-height: 2.1; }
  .chips { justify-content: flex-start; gap: 8px; }
  .chip { width: auto !important; height: 40px; padding: 0 16px; font-size: 14px; }

  /* WEB予約 */
  .web { background: var(--navy); }
  .web .ttl { font-size: 19px; line-height: 1.7; text-align: center; text-indent: .06em; }   /* 末尾の字間分を補正して中央に */
  .web-badge { margin-left: 32px; }   /* 右側の飾り線の分だけずらし、座布団と文字を中央に */
  .web .txt { font-size: 15px; line-height: 2; letter-spacing: .04em; }
  .web-price {
    flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 4px;
    padding: 20px 16px 24px; border: 1px solid #fff; border-radius: 8px; box-shadow: 3px 9px 0 #fff;
  }
  .web-price .p-arrow { transform: rotate(90deg); margin: 4px 0; }
  .web-cards { gap: 20px; }

  /* INFORMATION / FAQ */
  .info { padding: 56px 0 48px; }
  .info-in { width: auto; max-width: 640px; margin: 0 auto; padding: 0 20px; }
  .info .ttl { margin-top: 16px; font-size: 22px; }
  .info .ttl + .lead { margin-top: 16px; }
  .info .lead { font-size: 14px; line-height: 1.8; }
  .info .en.faq { margin-top: 56px; }
  .info .ttl + .acc { margin-top: 24px; }
  .acc-head { padding: 20px 3px; }
  .acc-item[open] > .acc-head { padding-bottom: 6px; }
  .info .q { font-size: 15px; }
  .info .a-txt { font-size: 14px; line-height: 1.9; }
  .info .a-txt a { word-break: break-all; }
  .acc-body .lead + .stop-map { margin-top: 20px; }
  .tab-list { flex-wrap: wrap; }
  .tab { height: 30px; padding: 0 12px; font-size: 12px; }
  .tt-table .tt-name { min-width: 168px; }
  .map-panel iframe { height: 300px; }

  /* CLOSING */
  .closing .in { padding-bottom: 0; }
  .closing .fade { display: none; }
  .closing .msg { order: 1; width: 100%; font-size: 16px; line-height: 2.1; letter-spacing: .02em; text-align: center; }
  .closing .btn { order: 2; width: 100%; max-width: 340px; }
  .closing .btn .sub { font-size: 10px; }
  .closing .photo-clip { order: 3; width: 100vw; height: auto; }
  .closing .photo-clip img { left: 0 !important; top: 0 !important; width: 100% !important; height: auto !important; }
  .closing .photo-clip::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 45%; z-index: 1;
    background: linear-gradient(180deg, #faf5f1 0%, rgba(250, 245, 241, 0) 100%);
  }
}
