@charset "utf-8";
/* ============================================================
   富山高山すし空港 下層ページ（2026 リニューアル）
   トップページのデザインシステムを下層に展開したもの。
   共通トークン・ナビ・フッターは styles/site.css を参照。

   既存ページの本文は Bootstrap3 グリッド（.row / .col-*）に依存するため
   グリッドには一切手を入れず、タイポグラフィとテーマ定義の部品のみ
   新配色に置き換えています。
   ============================================================ */

/* 背景グラデーションは body 側（styles/site.css）に一本化しているため
   ここでは敷かない（ヘッダーと二段に見えるのを防ぐ） */
.tk-page {
  position: relative;
  background: none;
  line-height: 1.7;
  overflow-x: hidden;
}

.tk-page img { max-width: 100%; height: auto; }

/* ══ ページヘッダー（フラットな帯） ═════════════════ */

.tk-pagehead { padding: 6px 0 26px; }

.tk-pagehead__inner {
  position: relative;
  padding: 26px 34px 28px;
  border-radius: 20px;
  overflow: hidden;
}
/* 左端のアクセントライン */
.tk-pagehead__inner::before {
  content: "";
}

.tk-pagehead__title {
  margin: 0;
  font-size: 32px; font-weight: 700; line-height: 1.35;
  color: var(--ink);
}
.tk-pagehead__title span { font-size: inherit; }

.tk-pagehead__lead {
  margin: 10px 0 0;
  font-size: 15px; line-height: 1.7; color: var(--muted);
}

/* パンくず（schema.org/BreadcrumbList） */
.tk-page .breadcrumb {
  margin: 0 0 12px; padding: 0;
  background: none; border-radius: 0;
}
.tk-page .breadcrumb ol {
  display: flex; flex-wrap: wrap; align-items: center;
  margin: 0; padding: 0; list-style: none;
  font-size: 12px; line-height: 1.7; color: var(--muted);
}
.tk-page .breadcrumb li { display: inline-flex; align-items: center; margin: 0; }
.tk-page .breadcrumb li + li::before {
  content: "›";
  margin: 0 8px;
  font-size: 14px; color: var(--line);
}
.tk-page .breadcrumb a { color: var(--primary); }
.tk-page .breadcrumb a:hover { text-decoration: underline; }
/* 記事タイトルが長いことがあるので現在地は省略表示 */
.tk-page .breadcrumb li:last-child span {
  display: inline-block;
  max-width: 34em;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  vertical-align: bottom;
  color: var(--muted);
}

/* ══ 2カラムレイアウト ══════════════════════════════ */

.tk-page__body {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
  padding-bottom: 56px;
}

.tk-page__side { position: sticky; top: 104px; }

.tk-page__main {
  min-width: 0;
  font-size: 16px;
}

/* 本文カード */
.tk-page .contents__main {
  padding: 30px 34px 36px;
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--sd-md);
}

/* ══ サイドバー ═════════════════════════════════════ */

.tk-page .contents__left { position: static; }

.tk-page .ch_leftside__menu {
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--sd-md);
}

/* セクション見出し（青ブロック） */
.tk-page .ch_leftside__menu__header {
  display: flex; align-items: center; gap: 10px;
  padding: 18px 20px;
  background: linear-gradient(135deg, var(--primary) 0%, var(--sky) 100%);
  color: #fff;
}
.tk-page .ch_leftside__menu__header i {
  font-size: 22px; line-height: 1; color: #fff;
}
.tk-page .ch_leftside__menu__header h3 {
  margin: 0;
  font-size: 17px; font-weight: 700; line-height: 1.3; color: #fff;
}

.tk-page .ch_leftside__menu ul { margin: 0; padding: 0; list-style: none; }

/* 中見出し */
.tk-page .ch_leftside__menu__subtitle {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 18px 10px;
  background: var(--chip);
  font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--ink);
}
.tk-page .ch_leftside__menu__subtitle i { color: var(--sky); font-size: 14px; }

/* リンク */
.tk-page .ch_leftside__menu ul ul li { border-bottom: 1px solid var(--line); }
.tk-page .ch_leftside__menu ul ul li:last-child { border-bottom: 0; }
.tk-page .ch_leftside__menu ul ul li a {
  position: relative;
  display: block;
  padding: 11px 26px 11px 18px;
  font-size: 13px; font-weight: 500; line-height: 1.5; color: var(--ink);
  transition: background-color .2s ease, color .2s ease;
}
.tk-page .ch_leftside__menu ul ul li a::after {
  content: "›";
  position: absolute; right: 14px; top: 50%;
  transform: translateY(-52%);
  font-size: 16px; color: var(--sky);
}
.tk-page .ch_leftside__menu ul ul li a:hover {
  background: #f2f9ff; color: var(--primary); text-decoration: none;
}

/* ウィジェット全般（アーカイブ・カテゴリー等） */
.tk-page .contents__left .widget,
.tk-page .contents__left .widget_archive,
.tk-page .contents__left .widget_categories {
  margin-top: 18px;
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--sd-md);
}
.tk-page .contents__left .widget > h3,
.tk-page .contents__left .widgettitle,
.tk-page .contents__left .widget-title {
  margin: 0;
  padding: 14px 18px;
  background: var(--chip);
  font-size: 14px; font-weight: 700; color: var(--ink);
}
.tk-page .contents__left .widget ul { margin: 0; padding: 0; list-style: none; }
.tk-page .contents__left .widget li { border-bottom: 1px solid var(--line); }
.tk-page .contents__left .widget li:last-child { border-bottom: 0; }
.tk-page .contents__left .widget li a {
  display: block;
  padding: 11px 18px;
  font-size: 13px; color: var(--ink);
}
.tk-page .contents__left .widget li a:hover { background: #f2f9ff; color: var(--primary); text-decoration: none; }

/* ══ 本文タイポグラフィ ═════════════════════════════ */

.tk-page .contents__main { color: var(--ink); }

.tk-page .contents__main h2 {
  position: relative;
  margin: 2.2em 0 1em;
  padding: 0 0 12px 0;
  border-bottom: 2px solid var(--line);
  font-size: 1.5em; font-weight: 700; line-height: 1.45;
  color: var(--primary);
  background: none;
}
.tk-page .contents__main h2::after {
  content: "";
  position: absolute; left: 0; bottom: -2px;
  width: 76px; height: 2px;
  background: var(--sky);
}
.tk-page .contents__main > h2:first-child,
.tk-page .contents__main > *:first-child > h2:first-child { margin-top: 0; }

.tk-page .contents__main h3 {
  margin: 1.9em 0 .8em;
  padding: 0 0 0 14px;
  border-left: 5px solid var(--sky);
  font-size: 1.22em; font-weight: 700; line-height: 1.5;
  color: var(--ink);
  background: none;
}

.tk-page .contents__main h4 {
  margin: 1.5em 0 .6em;
  font-size: 1.06em; font-weight: 700; line-height: 1.5;
  color: var(--ink);
}

.tk-page .contents__main p {
  margin: 0 0 1.2em;
  font-size: 1em; line-height: 1.9; color: var(--ink-soft);
}

.tk-page .contents__main a { color: var(--primary); text-decoration: underline; }
.tk-page .contents__main a:hover { color: var(--sky); }

.tk-page .contents__main ul,
.tk-page .contents__main ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.tk-page .contents__main li { margin-bottom: .45em; line-height: 1.8; }

.tk-page .contents__main hr { margin: 2em 0; border: 0; border-top: 1px solid var(--line); }

.tk-page .contents__main blockquote {
  margin: 0 0 1.4em; padding: 16px 20px;
  border: 0; border-left: 4px solid var(--sky);
  border-radius: 0 12px 12px 0;
  background: var(--tint);
  font-size: .96em; color: var(--ink-soft);
}

/* 表 */
.tk-page .contents__main table {
  width: 100%;
  margin: 0 0 1.6em;
  border-collapse: collapse;
  font-size: .95em;
  background: #fff;
}
.tk-page .contents__main table th,
.tk-page .contents__main table td {
  padding: 12px 14px;
  border: 1px solid var(--line);
  line-height: 1.7;
  vertical-align: middle;
}
.tk-page .contents__main table th {
  background: var(--chip);
  font-weight: 700; color: var(--ink);
  text-align: left;
}
.tk-page .contents__main table td { color: var(--ink-soft); }

/* 項目名＋内容の 2 列の表（特定商取引法に基づく表記 /other/tokushoho など。redmine #19583）。
   本文（DB の HTML）側で <table class="tk-sct-table"> を付ける。項目名の列幅をそろえ、
   SP では項目名が 1 文字ずつ折り返さない幅にする */
.tk-page .contents__main .tk-sct-table th { width: 12em; }
@media (max-width: 767px) {
  .tk-page .contents__main .tk-sct-table th,
  .tk-page .contents__main .tk-sct-table td { padding: 10px 8px; }
  .tk-page .contents__main .tk-sct-table th { width: 6.5em; }
}

/* ══ 本文内のテーマ部品 ═════════════════════════════ */

/* 画像＋見出し＋リンクのブロック（.contents__main__card）
   本文カード（.contents__main）の中に入れ子になるため、
   ドロップシャドウ付きカードにはせず罫線ベースのフラットな見せ方にする */
.tk-page .contents__main__card {
  margin: 0 0 22px;
  padding: 0;
  overflow: visible;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: background-color .2s ease;
}
.tk-page .contents__main__card:hover {
  transform: none;
  box-shadow: none;
}
.tk-page .contents__main__card img { display: block; width: 100%; border-radius: 0; }

/* クリックできるカード（.linkCard）だけ、うっすら背景で反応を示す */
.tk-page .contents__main__card.linkCard:hover { background-color: #f2f9ff; }

.tk-page .contents__main__card__contents { padding: 4px 0 0; }
.tk-page .contents__main__card__contents h3 {
  margin: 14px 0 10px;
  padding: 0 0 8px;
  border-left: 0;
  border-bottom: 2px solid var(--line);
  font-size: 1.12em; text-align: center; color: var(--primary);
}
.tk-page .contents__main__card__contents h4 { margin: .4em 0; font-size: .95em; }
.tk-page .contents__main__card__contents h4 a { text-decoration: none; }
.tk-page .contents__main__card__contents h4 a:hover { text-decoration: underline; }

/* 本文内のリンクボタン群
   旧 style.css は .linkBtn / .flightLine__list__btn / .flight__bigBtn /
   .internalLinkBtn / .transitLinkBtn / .access_bigBtn の各 a に
   「display:table-cell + 固定 width + 灰色グラデ + color:#2b353d!important」
   を当てていた。color だけは !important でないと上書きできないため
   ここでも !important を使っている（他のプロパティは詳細度で勝てる）。

   影・太い左罫・ホバー移動は付けず、薄い面と細い罫線だけのシンプルな作り。 */
.tk-page .linkBtn a,
.tk-page .linkBtn2 a,
.tk-page .flightLine__list__btn a,
.tk-page .flight__bigBtn a,
.tk-page .internalLinkBtn a,
.tk-page .transitLinkBtn a,
.tk-page .access_bigBtn a {
  position: relative;
  display: flex; align-items: center; gap: 8px;
  width: auto; height: auto; min-height: 46px;
  padding: 10px 28px 10px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--chip);
  background-image: none;
  font-size: .95em; font-weight: 700;
  color: var(--ink) !important;
  text-align: left; text-decoration: none;
  vertical-align: middle;
  box-shadow: none;
  transition: background-color .2s ease, border-color .2s ease;
}

.tk-page .linkBtn a::after,
.tk-page .linkBtn2 a::after,
.tk-page .flightLine__list__btn a::after,
.tk-page .flight__bigBtn a::after,
.tk-page .internalLinkBtn a::after,
.tk-page .transitLinkBtn a::after,
.tk-page .access_bigBtn a::after {
  content: "›";
  position: absolute; right: 12px; top: 50%;
  transform: translateY(-52%);
  font-size: 15px; line-height: 1; color: var(--sky);
}

.tk-page .linkBtn a:hover,
.tk-page .linkBtn2 a:hover,
.tk-page .flightLine__list__btn a:hover,
.tk-page .flight__bigBtn a:hover,
.tk-page .internalLinkBtn a:hover,
.tk-page .transitLinkBtn a:hover,
.tk-page .access_bigBtn a:hover {
  background: #e6eefb;
  border-color: var(--sky);
  color: var(--ink) !important;
}

.tk-page .linkBtn a i,
.tk-page .flightLine__list__btn a i,
.tk-page .flight__bigBtn a i,
.tk-page .internalLinkBtn a i,
.tk-page .transitLinkBtn a i,
.tk-page .access_bigBtn a i { flex: none; font-size: 1.1em; color: var(--sky); }

.tk-page .linkBtn a span,
.tk-page .flightLine__list__btn a span { font-size: .85em; font-weight: 400; color: var(--muted); }

/* 外側のラッパー。旧 CSS は width:160px 等の固定幅＋font-size:18px＋color:#fff を
   持っているため、文字があふれないよう可変幅にする。
   中央寄せ（margin:auto）は既存ページのレイアウトを崩さないよう踏襲。 */
.tk-page .linkBtn,
.tk-page .linkBtn2,
.tk-page .flightLine__list__btn,
.tk-page .flight__bigBtn,
.tk-page .internalLinkBtn,
.tk-page .transitLinkBtn,
.tk-page .access_bigBtn {
  width: auto;
  max-width: 340px;
  margin: 8px auto;
  padding: 0;
  font-size: inherit;
  color: inherit;
  text-align: left;
}

/* 強調ボタン（.linkBtn2）は塗りつぶし */
.tk-page .linkBtn2 a {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff !important;
}
.tk-page .linkBtn2 a::after { color: #fff; }
.tk-page .linkBtn2 a:hover { background: #0a3ed6; border-color: #0a3ed6; color: #fff !important; }

/* 国際線は「›」を赤にして国内線と区別（旧デザインの色分けを踏襲） */
.tk-page .flightLine__list__btn.intFlight a::after { color: var(--cat-important); }
.tk-page .flightLine__list { margin: 0 0 1.2em; padding: 0; list-style: none; }

.tk-page .flightLine h3 {
  margin: 1.2em 0 .7em;
  padding: 0 0 0 14px;
  border-left: 5px solid var(--primary);
  font-size: 1.1em;
}

/* 汎用ボタン（.btn 系はブートストラップと衝突するので触らない） */
.tk-page .contents__main .pdf a,
.tk-page .contents__main a.pdf {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--chip); color: var(--primary);
  font-weight: 700; text-decoration: none;
}
.tk-page .contents__main .pdf a:hover,
.tk-page .contents__main a.pdf:hover { background: #e3ebf7; }

/* ══ お知らせ一覧（news / category / date） ═════════ */

.tk-page .news__contents__main { min-width: 0; }

.tk-page .news__list {
  margin-bottom: 14px;
  padding: 20px 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--sd-md);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tk-page .news__list:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(22, 81, 166, .16);
}

.tk-page .news__list__date {
  font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--ink-soft);
  text-align: center;
}
.tk-page .news__list__date span {
  display: block; margin-top: 2px;
  font-size: 20px; font-weight: 700; color: var(--ink);
}

.tk-page .news__list h2 {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-size: 17px; font-weight: 700; line-height: 1.55;
}
.tk-page .news__list h2::after { display: none; }
.tk-page .news__list h2 a { color: var(--ink); text-decoration: none; }
.tk-page .news__list h2 a:hover { color: var(--primary); text-decoration: underline; }
.tk-page .news__list p {
  margin: 0;
  font-size: 14px; line-height: 1.75; color: var(--muted);
}

/* カテゴリバッジ（トップページと同じ配色） */
.tk-page .news__article__category {
  display: block;
  width: 100%;
  max-width: 108px;
  margin: 8px auto 0;
  padding: 6px 8px;
  border-radius: 18px;
  background: var(--muted); color: #fff;
  font-size: 11px; font-weight: 700; line-height: 1.3;
  text-align: center;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.tk-page .news__article__category.cat-important { background: var(--cat-important); }
.tk-page .news__article__category.cat-news      { background: var(--cat-info); }
.tk-page .news__article__category.cat-event     { background: var(--cat-event); }
.tk-page .news__article__category.cat-campaign  { background: var(--cat-campaign); }
.tk-page .news__article__category.cat-tour      { background: var(--cat-tour); }

/* 記事詳細 */
.tk-page .single__info {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  margin: 0 0 22px; padding: 0 0 18px;
  border-bottom: 1px solid var(--line);
}
.tk-page .single__date {
  font-size: 14px; font-weight: 700; color: var(--ink-soft);
}
.tk-page .single__info .news__article__category { margin: 0; max-width: none; width: auto; padding: 6px 16px; }

/* ページネーション */
.tk-page .pagination { display: block; margin: 30px 0 0; }
.tk-page .pagination ul {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
  margin: 0; padding: 0; list-style: none;
}
.tk-page .pagination li { margin: 0; }
.tk-page .pagination a,
.tk-page .pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px;
  padding: 0 12px;
  border: 1px solid var(--line); border-radius: 12px;
  background: #fff;
  font-size: 14px; font-weight: 700; color: var(--ink);
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.tk-page .pagination a:hover { background: var(--chip); color: var(--primary); }
.tk-page .pagination .current {
  background: var(--primary); border-color: var(--primary); color: #fff;
}

/* ══ ツアー一覧 ═════════════════════════════════════ */

.tk-page .tour__article {
  margin-bottom: 14px;
  padding: 18px 22px;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--sd-md);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tk-page .tour__article:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(22, 81, 166, .16);
}
.tk-page .tour__article__title {
  font-size: 16px; font-weight: 700; line-height: 1.55; color: var(--ink);
}
.tk-page .tour__article__departureDate { margin-top: 6px; font-size: 13px; color: var(--muted); }

/* ══ イベント新着（enjoy ページ） ═══════════════════ */

.tk-page .enjoy__news {
  margin-bottom: 24px;
  padding: 22px 26px;
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--sd-md);
}
.tk-page .enjoy__news__title {
  margin-bottom: 12px;
  font-size: 18px; font-weight: 700; color: var(--primary);
}
.tk-page .enjoy__news__article { padding: 10px 0; border-bottom: 1px solid var(--line); }
.tk-page .enjoy__news__article:last-child { border-bottom: 0; }
.tk-page .enjoy__news__article__date { font-size: 13px; font-weight: 700; color: var(--ink-soft); }
.tk-page .enjoy__news__article__title a { font-size: 15px; font-weight: 700; color: var(--ink); }
.tk-page .enjoy__news__article__title a:hover { color: var(--primary); }

/* ══ 404 ════════════════════════════════════════════ */

.tk-page .tk-404 {
  padding: 60px 30px 70px;
  text-align: center;
}
.tk-page .contents__main .tk-404__code {
  margin: 0;
  font-size: 72px; font-weight: 700; line-height: 1; color: var(--sky);
}
.tk-page .contents__main .tk-404__lead { margin: 18px 0 26px; font-size: 16px; color: var(--ink-soft); }

/* ══ ゲーム: 個人会員限定の案内（template-game.php） ════ */

.tk-page .tk-gamelock {
  padding: 50px 30px 60px;
  text-align: center;
}
.tk-page .contents__main .tk-gamelock__icon { display: block; width: 120px; height: 120px; margin: 0 auto; }
.tk-page .contents__main .tk-gamelock__title { margin: 18px 0 0; font-size: 20px; font-weight: 700; color: var(--ink); }
.tk-page .contents__main .tk-gamelock__lead { margin: 14px 0 26px; font-size: 16px; color: var(--ink-soft); }
.tk-page .contents__main .tk-gamelock__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 22px; }
.tk-page .contents__main .tk-gamelock__back { margin: 0; font-size: 14px; }
@media (max-width: 767px) {
  /* スマホでは余白を詰め、ボタンの文言と矢印が 2 行に割れないようにする */
  .tk-page .tk-gamelock { padding: 36px 0 44px; }
  .tk-page .contents__main .tk-gamelock__actions .tk-pill { width: 100%; max-width: 320px; padding-inline: 16px; white-space: nowrap; }
}

/* ══ 本文内タブ（フロアマップ／施設・サービス） ═════ */
/* 本文（DB）には BS3 の <ul class="nav-tabs"><li class="active"><a class="btn" data-toggle="tab">
   が残っている。これを共通デザインのピル型タブに揃える。
   旧スタイルは li が float:left だったため、表示幅によってタブが 2 行に折り返すと
   2 行目のタブがコンテンツ（画像）の横に回り込んでいた。float をやめて
   flex + wrap にし、.tab-content 側でも clear して回り込みを断つ。 */
.tk-page .contents__main .nav-tabs {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin: 0 0 20px; padding: 0 0 16px;
  border: 0; border-bottom: 2px solid var(--line);
  list-style: none;
}
.tk-page .contents__main .nav-tabs > li {
  float: none; display: block; margin: 0; padding: 0;
}
.tk-page .contents__main .nav-tabs > li > a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; margin: 0; padding: 8px 18px;
  border: 1px solid var(--line); border-radius: 999px;
  background: var(--chip);
  font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.2;
  white-space: nowrap;
  color: var(--ink-soft);
  text-decoration: none; box-shadow: none; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.tk-page .contents__main .nav-tabs > li > a:hover,
.tk-page .contents__main .nav-tabs > li > a:focus {
  background: #e3edfb; border-color: #e3edfb;
  color: var(--primary); text-decoration: none;
}
.tk-page .contents__main .nav-tabs > li > a:focus-visible {
  outline: 2px solid var(--sky); outline-offset: 2px;
}
.tk-page .contents__main .nav-tabs > li.active > a,
.tk-page .contents__main .nav-tabs > li.active > a:hover,
.tk-page .contents__main .nav-tabs > li.active > a:focus {
  background: var(--primary); border-color: var(--primary);
  color: #fff; cursor: default;
}
.tk-page .contents__main .tab-content { clear: both; }
.tk-page .contents__main .tab-content > .tab-pane { display: none; }
.tk-page .contents__main .tab-content > .active { display: block; }

/* 施設・サービスのカード：旧 style.css の固定高さ（192px）だと
   幅が狭いときに説明文が次のカードの画像に重なるため、高さを内容に合わせる */
.tk-page .contents__main .tab-pane .contents__main__card { height: auto; }

/* ══ ゲーム一覧（固定ページ /game/ の [tk_game_list]） ═ */
.tk-page .contents__main .tk-gamelist {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
  margin: 8px 0 0; padding: 0; list-style: none;
}
.tk-page .contents__main .tk-gamelist li { margin: 0; padding: 0; }
.tk-page .contents__main .tk-gamelist__item {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  height: 100%; padding: 24px 16px 22px;
  border: 1px solid var(--line); border-radius: 16px;
  background: var(--tint);
  color: var(--ink); text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tk-page .contents__main .tk-gamelist__item:hover,
.tk-page .contents__main .tk-gamelist__item:focus {
  border-color: var(--sky); box-shadow: var(--sd-sm); transform: translateY(-3px);
  text-decoration: none;
}
.tk-page .contents__main .tk-gamelist__item img {
  display: block; width: 96px; height: 96px; max-width: none; object-fit: contain;
}
.tk-page .contents__main .tk-gamelist__name { font-size: 18px; font-weight: 700; color: var(--primary); }
.tk-page .contents__main .tk-gamelist__btn {
  display: inline-flex; align-items: center; margin-top: 4px; padding: 9px 20px;
  border-radius: 999px; background: var(--primary);
  font-size: 13px; font-weight: 700; line-height: 1.2; color: #fff;
}

/* ══ レスポンシブ ═══════════════════════════════════ */

@media (max-width: 1023px) {
  .tk-page__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding-bottom: 40px;
  }
  .tk-page__side { position: static; order: 2; }

  .tk-pagehead { padding: 4px 0 20px; }
  .tk-pagehead__inner { padding: 20px 22px 22px; }
  .tk-pagehead__title { font-size: 26px; }

  .tk-page .contents__main { padding: 24px 22px 28px; }
}

@media (max-width: 767px) {
  .tk-pagehead__inner { padding: 16px 18px 18px; border-radius: 16px; }
  .tk-pagehead__title { font-size: 22px; }
  .tk-page .breadcrumb ol { font-size: 11px; }
  .tk-page .breadcrumb li:last-child span { max-width: 16em; }

  .tk-page .contents__main { padding: 20px 16px 24px; border-radius: 16px; }
  .tk-page .contents__main h2 { font-size: 1.35em; }
  .tk-page .contents__main h3 { font-size: 1.15em; }

  .tk-page .contents__main .nav-tabs { gap: 6px; margin-bottom: 16px; padding-bottom: 12px; }
  .tk-page .contents__main .nav-tabs > li > a { min-height: 36px; padding: 7px 14px; font-size: 13px; }

  .tk-page .contents__main .tk-gamelist { gap: 10px; }
  .tk-page .contents__main .tk-gamelist__item { padding: 16px 10px 16px; gap: 8px; }
  .tk-page .contents__main .tk-gamelist__item img { width: 72px; height: 72px; }
  .tk-page .contents__main .tk-gamelist__name { font-size: 15px; }
  .tk-page .contents__main .tk-gamelist__btn { padding: 8px 14px; font-size: 12px; }

  .tk-page .news__list { padding: 16px 16px; }
  .tk-page .news__list h2 { font-size: 15px; }
  .tk-page .news__list__date { text-align: left; }
  .tk-page .news__list__date span { display: inline; margin-left: 4px; font-size: 15px; }
  .tk-page .news__article__category { margin-left: 0; max-width: 96px; }

  .tk-page .pagination a,
  .tk-page .pagination span { min-width: 38px; height: 38px; font-size: 13px; }
}

/* ══ 1カラム（サイドバーなし） ══════════════════════ */

.tk-page__body--single { grid-template-columns: minmax(0, 1fr); }
.tk-page__body--single .tk-page__main { max-width: 900px; margin-inline: auto; width: 100%; }

/* ══ ツアー一覧（.tour__list） ══════════════════════ */

.tk-page .tour__list {
  margin-bottom: 14px;
  padding: 18px 22px;
  background: #fff;
  border-radius: 16px;
  box-shadow: var(--sd-md);
  transition: transform .2s ease, box-shadow .2s ease;
}
.tk-page .tour__list:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(22, 81, 166, .16);
}
.tk-page .tour__list a { text-decoration: none; }
.tk-page .tour__list img { border-radius: 8px; }
.tk-page .tour__list__title {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  font-size: 16px; font-weight: 700; line-height: 1.55; color: var(--ink);
}
.tk-page .tour__list__title::after { display: none; }
.tk-page .tour__list:hover .tour__list__title { color: var(--primary); }
.tk-page .tour__list__departureDate { font-size: 13px; line-height: 1.7; color: var(--muted); }
.tk-page .tour__list__price { margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--cat-important); }

/* ══ 本文内に置いた共通ボタン ═══════════════════════ */
/* .tk-page .contents__main a { color: var(--primary) } より詳細度を上げて
   ピルボタンの文字色が本文リンク色に潰されないようにする */
.tk-page .contents__main a.tk-pill { text-decoration: none; }
.tk-page .contents__main a.tk-pill--solid { color: #fff; }
.tk-page .contents__main a.tk-pill--solid:hover { color: #fff; }
.tk-page .contents__main a.tk-pill--ghost { color: var(--ink); }
.tk-page .contents__main a.tk-pill--ghost:hover { color: var(--ink); }

/* ツアー一覧の航空会社ロゴは縦横比がまちまちなので高さを揃える */
.tk-page .tour__list img {
  width: auto; max-width: 100%; max-height: 56px;
  object-fit: contain;
}

/* 旧 style.css の色分け（!important 付き）を新配色にそろえる */
.tk-page .access .contents__main__card i { color: var(--sky) !important; }

/* 旧 style.css の .ch_leftside__menu ul li{padding:4px} を解除。
   （グレー背景 .ch_leftside__menu div>ul>li{background-color:#d9dcde} と対で
     枠線のように見えていたもの。背景は style.css / style.scss から削除済み） */
.tk-page .ch_leftside__menu ul li { padding: 0; }

/* ══ 本文内の発着時刻表（.flight__table） ═══════════ */
/* 旧 style.css は濃紺＋黒枠の配色（.flight__table table tr など）。
   トップページの「本日のフライト」と同じ明るい表に統一する。 */
.tk-page .flight__table { padding: 0; overflow-x: auto; }
.tk-page .flight__table table {
  width: 100%; margin: 0 0 1.6em;
  border-collapse: collapse;
  font-family: inherit;
  color: var(--ink);
  text-align: left;
  background: transparent;
}
.tk-page .flight__table table tr {
  border: 0;
  background: transparent;
}
.tk-page .flight__table table tr:nth-child(odd) { background: transparent; }
.tk-page .flight__table table tr:nth-child(even) { background: var(--tint); }
.tk-page .flight__table table th,
.tk-page .flight__table table td {
  padding: 10px 8px;
  border: 0;
  border-bottom: 1px solid var(--line);
  font-size: .88em;
  text-align: left;
  vertical-align: middle;
  background: transparent;
}
.tk-page .flight__table table th {
  font-weight: 700; color: var(--ink);
  background: var(--chip);
  white-space: nowrap;
}
.tk-page .flight__table table td { color: var(--ink); }
.tk-page .flight__table table tr:last-child td { border-bottom: 0; }
.tk-page .flight__table table td img {
  float: none;
  width: 46px; height: auto;
  vertical-align: middle;
}
/* 運航状況ボタン。本文リンク色（.tk-page .contents__main a）に負けて
   グレー地に青文字になってしまうため、詳細度を上げて白抜きに固定する。
   .flight__table / .timeTable など表の種類を問わず効くようにしてある。 */
.tk-page .contents__main a.statusBtn,
.tk-page .timeTable a.statusBtn,
.tk-page .flight__table table a.statusBtn {
  display: inline-block;
  padding: 5px 10px;
  border: 0;
  border-radius: 6px;
  background: var(--primary);
  color: #fff !important;
  font-size: .85em; font-weight: 700; line-height: 1.2;
  white-space: nowrap;
  text-decoration: none !important;
  transition: background-color .2s ease;
}
.tk-page .contents__main a.statusBtn:hover,
.tk-page .timeTable a.statusBtn:hover,
.tk-page .flight__table table a.statusBtn:hover {
  background: var(--sky);
  color: #fff !important;
}

/* ══ Language（多言語）— template-language.php ═══════ */

.tk-lang__section + .tk-lang__section { margin-top: 36px; }
.tk-lang__heading {
  margin: 0 0 14px;
  font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--primary);
}
.tk-lang__heading span { font-size: 15px; font-weight: 700; color: var(--muted); }

/* 自動翻訳の注意書き */
.tk-lang__note {
  margin: 0 0 20px;
  padding: 16px 20px;
  background: var(--chip);
  border-radius: 12px;
  font-size: 14px; line-height: 1.7; color: var(--ink-soft);
}
.tk-lang__note p { margin: 0; }
.tk-lang__note p + p { margin-top: 8px; }

/* 言語一覧 */
.tk-lang__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
  margin: 0; padding: 0; list-style: none;
}
.tk-lang__item {
  display: flex; flex-direction: column; gap: 2px;
  height: 100%;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--ink);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tk-lang__item:hover,
.tk-lang__item:focus { transform: translateY(-2px); border-color: var(--sky); box-shadow: var(--sd-sm); color: var(--primary); text-decoration: none; }
.tk-lang__name { font-size: 18px; font-weight: 700; line-height: 1.4; }
.tk-lang__ja   { font-size: 12px; color: var(--muted); }
.tk-lang__ext  { margin-top: 6px; font-size: 11px; color: var(--muted); white-space: nowrap; }

@media (max-width: 767px) {
  .tk-lang__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .tk-lang__item { padding: 12px 14px; }
  .tk-lang__name { font-size: 16px; }
  .tk-lang__ext-detail { display: none; }  /* SP は「外部サイト ↗」だけにして 1 行に収める */
}
