/*
Theme Name: KITAYO! Travel One Page
Theme URI: https://kita-yo.com/
Author: KITAYO!
Description: 航空セール・カレンダー・国別価格をトップページに集約した軽量テーマ。
Version: 0.7.45
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: kitayo-travel
*/

:root {
  --ink: #172033;
  --muted: #637086;
  --line: #e4e9f1;
  --surface: #ffffff;
  --soft: #f5f8fd;
  --primary: #1768e5;
  --accent: #ff7a21;
  --max: 1160px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.75;
}

a {
  color: var(--primary);
}

img {
  max-width: 100%;
  height: auto;
}

.container {
  width: min(calc(100% - 36px), var(--max));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(228, 233, 241, 0.85);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(16px);
}

.site-header__inner {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  text-decoration: none;
  font-size: 1.16rem;
  font-weight: 950;
  letter-spacing: -0.03em;
}

.site-brand__mark {
  display: grid;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), #63a2ff);
  font-size: 1.2rem;
  transform: rotate(-5deg);
}

.site-nav ul {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  color: var(--ink);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;
}

.site-nav a:hover {
  color: var(--primary);
}

.hero {
  overflow: hidden;
  padding: clamp(66px, 10vw, 128px) 0 76px;
  background:
    radial-gradient(circle at 85% 20%, rgba(99, 162, 255, 0.24), transparent 28%),
    radial-gradient(circle at 12% 10%, rgba(255, 122, 33, 0.15), transparent 24%),
    linear-gradient(180deg, #f7faff 0%, #fff 100%);
}

.hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  align-items: center;
  gap: 55px;
}

.hero__eyebrow,
.section-eyebrow {
  margin: 0 0 9px;
  color: var(--primary);
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.18em;
}

.hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2.35rem, 6.2vw, 5.1rem);
  line-height: 1.07;
  letter-spacing: -0.06em;
}

.hero h1 em {
  color: var(--accent);
  font-style: normal;
}

.hero__lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.18rem);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: #fff;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 10px 26px rgba(23, 32, 51, 0.07);
}

.button--primary {
  border-color: var(--primary);
  color: #fff;
  background: var(--primary);
}

.hero__visual {
  position: relative;
  min-height: 390px;
}

.hero-card {
  position: absolute;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 24px 70px rgba(23, 32, 51, 0.14);
  backdrop-filter: blur(12px);
}

.hero-card--main {
  top: 44px;
  right: 10px;
  width: min(100%, 350px);
  transform: rotate(2deg);
}

.hero-card--sub {
  bottom: 18px;
  left: 0;
  width: 230px;
  transform: rotate(-5deg);
}

.hero-card__tag {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  color: #056245;
  background: #e7f8f1;
  font-size: 0.72rem;
  font-weight: 900;
}

.hero-card h3 {
  margin: 14px 0 8px;
}

.hero-card__price {
  color: var(--accent);
  font-size: 2.25rem;
  font-weight: 950;
  letter-spacing: -0.05em;
}

.hero-card p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.87rem;
}

.site-section {
  scroll-margin-top: 88px;
  padding: 76px 0;
}

.site-section--soft {
  background: var(--soft);
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.section-head h2,
.entry-header h1,
.archive-header h1 {
  margin: 0;
  font-size: clamp(1.75rem, 4vw, 2.8rem);
  line-height: 1.25;
  letter-spacing: -0.04em;
}

.section-head p {
  margin: 6px 0 0;
  color: var(--muted);
}

.text-link {
  white-space: nowrap;
  font-weight: 900;
}

.kitayo-published-date {
  margin: -2px 0 10px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.kitayo-status--new {
  color: #734300;
  background: #fff2d6;
}

.content-area {
  padding: 56px 0 90px;
}

.entry-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 42px;
}

.entry-main,
.entry-side-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 45px rgba(23, 32, 51, 0.06);
}

.entry-main {
  padding: clamp(24px, 5vw, 54px);
}

.entry-side {
  display: grid;
  align-content: start;
  gap: 18px;
}

.entry-side-card {
  padding: 22px;
}

.entry-side-card h3 {
  margin-top: 0;
}

.entry-header {
  margin-bottom: 30px;
}

.entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.86rem;
}

.entry-content > *:first-child {
  margin-top: 0;
}

.entry-content h2,
.entry-content h3 {
  margin-top: 2.2em;
  line-height: 1.4;
}


.entry-featured-image {
  overflow: hidden;
  margin: 0 0 30px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--soft);
}

.entry-featured-image img {
  display: block;
  width: 100%;
  max-height: 620px;
  object-fit: cover;
}

.entry-featured-image figcaption {
  padding: 8px 12px;
  color: var(--muted);
  background: #fff;
  font-size: 0.72rem;
  line-height: 1.5;
}

.entry-featured-image figcaption a {
  color: inherit;
}

.sale-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0;
}

.sale-summary div {
  padding: 14px;
  border-radius: 14px;
  background: var(--soft);
}

.sale-summary dt {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.sale-summary dd {
  margin: 3px 0 0;
  font-weight: 900;
}

.fare-table-wrap {
  overflow-x: auto;
  margin: 30px 0;
}

.fare-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.fare-table th,
.fare-table td {
  padding: 13px 11px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.fare-table th {
  color: var(--muted);
  background: var(--soft);
  font-size: 0.8rem;
}

.fare-price {
  color: var(--accent);
  font-weight: 950;
}

.notice-box {
  margin: 24px 0;
  padding: 16px 18px;
  border-left: 4px solid var(--accent);
  border-radius: 8px 14px 14px 8px;
  background: #fff7ef;
}

.archive-header {
  margin-bottom: 30px;
}

.archive-list {
  display: grid;
  gap: 18px;
}

.archive-item {
  overflow: hidden;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.archive-item.has-thumbnail {
  display: grid;
  grid-template-columns: minmax(240px, 34%) minmax(0, 1fr);
  padding: 0;
}

.archive-item__image {
  display: block;
  min-height: 210px;
  background: var(--soft);
}

.archive-item__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archive-item__content {
  padding: 24px;
}

.archive-item:not(.has-thumbnail) .archive-item__content {
  padding: 0;
}

.archive-item h2 {
  margin: 0;
  font-size: 1.25rem;
}

.archive-item h2 a {
  color: var(--ink);
  text-decoration: none;
}

.site-footer {
  padding: 54px 0;
  color: #c9d2e4;
  background: #121a2a;
}

.site-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.site-footer a {
  color: #fff;
}

.site-footer p {
  margin: 0;
  font-size: 0.82rem;
}

.pagination .nav-links {
  display: flex;
  gap: 8px;
  margin-top: 28px;
}

.pagination a,
.pagination span {
  display: grid;
  min-width: 38px;
  height: 38px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  place-items: center;
  text-decoration: none;
}

.pagination .current {
  color: #fff;
  background: var(--primary);
}

@media (max-width: 860px) {
  .hero__inner,
  .entry-shell {
    grid-template-columns: 1fr;
  }

  .hero__visual {
    min-height: 320px;
  }

  .site-nav {
    display: none;
  }
}

@media (max-width: 620px) {
  .container {
    width: min(calc(100% - 24px), var(--max));
  }

  .site-header__inner {
    min-height: 62px;
  }

  .hero {
    padding-top: 50px;
  }

  .hero__visual {
    min-height: 285px;
  }

  .hero-card--main {
    width: 86%;
  }

  .hero-card--sub {
    width: 58%;
  }

  .section-head,
  .site-footer__inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .sale-summary {
    grid-template-columns: 1fr;
  }

  .archive-item.has-thumbnail {
    grid-template-columns: 1fr;
  }

  .archive-item__image {
    min-height: 190px;
    aspect-ratio: 16 / 9;
  }
}


/* 0.4.0: トップと一覧の表示統一・共通画像 */
.kitayo-sale-card__media--fallback {
  background: #1768e5;
}

.kitayo-sale-card__media--fallback .kitayo-fallback-image,
.kitayo-fallback-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kitayo-sale-card__media--placeholder {
  background-image:
    linear-gradient(rgba(17, 47, 101, 0.1), rgba(17, 47, 101, 0.1)),
    url("assets/images/flight-sale-fallback.png");
  background-position: center;
  background-size: cover;
}

.kitayo-sale-card__media--placeholder::after {
  display: none;
}

.kitayo-sale-card__media--placeholder span,
.kitayo-sale-card__media--placeholder strong {
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(13, 33, 73, 0.64);
  backdrop-filter: blur(5px);
}

.entry-featured-image--fallback img {
  aspect-ratio: 16 / 9;
  max-height: none;
}

.archive-description {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
}

.sale-archive-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
}

.sale-archive-tabs a {
  padding: 9px 15px;
  border-radius: 10px;
  color: var(--muted);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 900;
}

.sale-archive-tabs a:hover,
.sale-archive-tabs a.is-active {
  color: var(--primary);
  background: #fff;
  box-shadow: 0 4px 14px rgba(23, 32, 51, 0.08);
}

.archive-count {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 800;
}

.kitayo-sale-grid--archive {
  margin-top: 0;
}

.pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.pagination ul.page-numbers li {
  margin: 0;
}

@media (max-width: 620px) {
  .sale-archive-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }

  .sale-archive-tabs a {
    text-align: center;
  }
}

/* 0.4.3: トップと一覧を、必要情報だけのコンパクトな行表示に統一。 */
.archive-sale-list {
  display: grid;
  gap: 10px;
}

.archive-sale-row {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23, 32, 51, 0.045);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.archive-sale-row:hover {
  border-color: rgba(23, 104, 229, 0.28);
  box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
  transform: translateY(-1px);
}

.archive-sale-row__link-wrap {
  display: grid;
  grid-template-columns: 158px minmax(0, 1fr) auto 20px;
  grid-template-areas: "image content price arrow";
  align-items: center;
  min-height: 102px;
  color: inherit;
  text-decoration: none;
}

.archive-sale-row__sr-title {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.archive-sale-row__image {
  grid-area: image;
  display: block;
  align-self: stretch;
  min-height: 102px;
  background: var(--soft);
}

.archive-sale-row__image--fallback {
  background: #1768e5;
}

.archive-sale-row__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 102px;
  object-fit: cover;
}

.archive-sale-row__content {
  grid-area: content;
  min-width: 0;
  padding: 16px 18px;
}

.archive-sale-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 12px;
}

.archive-sale-row__airline {
  overflow: hidden;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-sale-row__published {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.archive-sale-row__route {
  display: block;
  overflow: hidden;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 650;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-sale-row__price-wrap {
  grid-area: price;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 14px 16px 14px 8px;
  white-space: nowrap;
}

.archive-sale-row__price {
  color: var(--accent);
  font-size: clamp(1.18rem, 2vw, 1.48rem);
  font-weight: 950;
  letter-spacing: -0.04em;
}

.archive-sale-row__price small {
  font-size: 0.7em;
}

.archive-sale-row__price-missing {
  max-width: 118px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.4;
  white-space: normal;
}

.archive-sale-row__arrow {
  grid-area: arrow;
  padding-right: 13px;
  color: #9aa5b7;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1;
}

.archive-sale-list--home {
  gap: 10px;
}

.section-more {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.section-more .button {
  min-width: min(100%, 280px);
}

@media (max-width: 760px) {
  .archive-sale-row__link-wrap {
    grid-template-columns: 122px minmax(0, 1fr) auto;
    grid-template-areas: "image content price";
    min-height: 92px;
  }

  .archive-sale-row__image,
  .archive-sale-row__image img {
    min-height: 92px;
  }

  .archive-sale-row__content {
    padding: 13px 14px;
  }

  .archive-sale-row__price-wrap {
    padding-right: 14px;
  }

  .archive-sale-row__arrow {
    display: none;
  }
}

@media (max-width: 560px) {
  .archive-sale-row__link-wrap {
    grid-template-columns: 100px minmax(0, 1fr);
    grid-template-areas:
      "image content"
      "image price";
    align-items: stretch;
  }

  .archive-sale-row__image,
  .archive-sale-row__image img {
    min-height: 116px;
  }

  .archive-sale-row__content {
    align-self: end;
    padding: 11px 12px 4px;
  }

  .archive-sale-row__meta {
    display: grid;
    gap: 1px;
  }

  .archive-sale-row__airline {
    font-size: 0.84rem;
  }

  .archive-sale-row__published {
    font-size: 0.68rem;
  }

  .archive-sale-row__route {
    margin-top: 5px;
    font-size: 0.78rem;
  }

  .archive-sale-row__price-wrap {
    align-self: start;
    justify-content: flex-start;
    padding: 1px 12px 10px;
  }

  .archive-sale-row__price {
    font-size: 1.16rem;
  }
}

/* 0.4.3: 一覧は価格・公開日・航空会社・代表路線だけに絞ったコンパクト表示。 */
.archive-sale-list {
  gap: 12px;
}

.sale-compact-row {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(23, 32, 51, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sale-compact-row:hover {
  border-color: #cdd9eb;
  box-shadow: 0 12px 30px rgba(23, 32, 51, 0.08);
  transform: translateY(-1px);
}

.sale-compact-row__link {
  display: grid;
  grid-template-areas: "image body price arrow";
  grid-template-columns: 164px minmax(0, 1fr) auto 22px;
  align-items: center;
  min-height: 108px;
  gap: 18px;
  padding-right: 18px;
  color: inherit;
  text-decoration: none;
}

.sale-compact-row__image {
  grid-area: image;
  display: block;
  width: 100%;
  height: 108px;
  overflow: hidden;
  background: var(--soft);
}

.sale-compact-row__image--fallback {
  background: #1768e5;
}

.sale-compact-row__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sale-compact-row__body {
  grid-area: body;
  min-width: 0;
  padding: 14px 0;
}

.sale-compact-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.sale-compact-row__airline {
  color: var(--ink);
  font-weight: 900;
}

.sale-compact-row__published {
  white-space: nowrap;
}

.sale-compact-row__published::before {
  margin-right: 10px;
  color: #bbc4d1;
  content: "•";
}

.sale-compact-row__route {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--ink);
  font-size: clamp(0.96rem, 1.5vw, 1.08rem);
  font-weight: 850;
  line-height: 1.5;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sale-compact-row__price {
  grid-area: price;
  white-space: nowrap;
  color: var(--accent);
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  font-weight: 950;
  letter-spacing: -0.035em;
}

.sale-compact-row__price small {
  font-size: 0.68em;
}

.sale-compact-row__price--unknown {
  max-width: 120px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: normal;
}

.sale-compact-row__arrow {
  grid-area: arrow;
  color: #9ba8bb;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1;
  transition: color 0.2s ease, transform 0.2s ease;
}

.sale-compact-row:hover .sale-compact-row__arrow {
  color: var(--primary);
  transform: translateX(2px);
}

.archive-sale-list--home {
  gap: 12px;
}

@media (max-width: 720px) {
  .sale-compact-row__link {
    grid-template-areas:
      "image body arrow"
      "image price arrow";
    grid-template-columns: 116px minmax(0, 1fr) 16px;
    gap: 3px 12px;
    min-height: 102px;
    padding-right: 12px;
  }

  .sale-compact-row__image {
    height: 102px;
  }

  .sale-compact-row__body {
    align-self: end;
    padding: 11px 0 1px;
  }

  .sale-compact-row__price {
    align-self: start;
    padding: 0 0 10px;
    font-size: 1.18rem;
  }

  .sale-compact-row__arrow {
    align-self: center;
  }
}

@media (max-width: 480px) {
  .archive-sale-list {
    gap: 10px;
  }

  .sale-compact-row {
    border-radius: 13px;
  }

  .sale-compact-row__link {
    grid-template-columns: 92px minmax(0, 1fr) 14px;
    gap: 2px 10px;
    min-height: 94px;
    padding-right: 10px;
  }

  .sale-compact-row__image {
    height: 94px;
  }

  .sale-compact-row__meta {
    display: grid;
    gap: 1px;
    margin-bottom: 3px;
    font-size: 0.69rem;
  }

  .sale-compact-row__published::before {
    display: none;
  }

  .sale-compact-row__route {
    font-size: 0.86rem;
    line-height: 1.4;
  }

  .sale-compact-row__price {
    padding-bottom: 8px;
    font-size: 1.08rem;
  }

  .sale-compact-row__arrow {
    font-size: 1.25rem;
  }
}



/* 0.4.4: セール名を主役にし、航空会社・公開日は補助情報へ。 */
.sale-compact-row__link {
  grid-template-columns: 172px minmax(0, 1fr) auto 22px;
  min-height: 126px;
}

.sale-compact-row__image,
.sale-compact-row__image img {
  height: 126px;
}

.sale-compact-row__body {
  padding: 14px 0;
}

.sale-compact-row__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 6px;
  color: var(--ink);
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -0.025em;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sale-compact-row__meta {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 0.75rem;
}

.sale-compact-row__airline {
  color: var(--muted);
  font-weight: 800;
}

.sale-compact-row__route {
  display: block;
  overflow: hidden;
  margin: 0;
  color: #526078;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .sale-compact-row__link {
    grid-template-columns: 116px minmax(0, 1fr) 16px;
    min-height: 122px;
  }

  .sale-compact-row__image,
  .sale-compact-row__image img {
    height: 122px;
  }

  .sale-compact-row__title {
    margin-bottom: 4px;
    font-size: 1rem;
    line-height: 1.35;
  }

  .sale-compact-row__meta {
    gap: 3px 8px;
    margin-bottom: 4px;
    font-size: 0.7rem;
  }

  .sale-compact-row__route {
    font-size: 0.78rem;
  }
}

@media (max-width: 480px) {
  .sale-compact-row__link {
    grid-template-columns: 96px minmax(0, 1fr) 14px;
    min-height: 118px;
  }

  .sale-compact-row__image,
  .sale-compact-row__image img {
    height: 118px;
  }

  .sale-compact-row__body {
    padding-top: 8px;
  }

  .sale-compact-row__title {
    font-size: 0.93rem;
  }

  .sale-compact-row__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1px 7px;
    font-size: 0.65rem;
  }

  .sale-compact-row__published::before {
    display: inline;
    margin-right: 7px;
  }

  .sale-compact-row__route {
    font-size: 0.72rem;
  }
}


/* 0.4.5: 新着は販売終了の有無ではなく情報公開日で判定。終了状態は小さく表示。 */
.sale-compact-row__status {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef4ff;
  color: #3268b7;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.sale-compact-row__status--ended {
  background: #f1f3f6;
  color: #7b8492;
}

.sale-compact-row__status--upcoming {
  background: #fff3e8;
  color: #b65d18;
}

.sale-compact-row__status--active {
  background: #eaf8ef;
  color: #19733b;
}


/* 0.4.6: セール状態をタイトルの左上へ置き、意味が伝わる文言へ統一。 */
.sale-compact-row__status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 23px;
  margin: 0 0 7px;
  padding: 4px 9px;
  border-radius: 7px;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
}

.sale-compact-row__status--active {
  background: #e7f8ee;
  color: #176b38;
}

.sale-compact-row__status--upcoming {
  background: #fff2df;
  color: #a55413;
}

.sale-compact-row__status--ended {
  background: #eef0f3;
  color: #6f7886;
}

@media (max-width: 480px) {
  .sale-compact-row__status {
    min-height: 20px;
    margin-bottom: 5px;
    padding: 3px 7px;
    font-size: 0.62rem;
  }
}


/* 0.4.7: 一覧行にセール期間と搭乗期間をコンパクト表示。 */
.sale-compact-row__link {
  min-height: 156px;
}

.sale-compact-row__image {
  position: relative;
  align-self: stretch;
  height: auto;
  min-height: 156px;
}

.sale-compact-row__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 156px;
  object-fit: cover;
}

.sale-compact-row__periods {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 8px;
  color: #68758a;
  font-size: 0.71rem;
  line-height: 1.45;
}

.sale-compact-row__period {
  display: inline-flex;
  min-width: 0;
  align-items: baseline;
  gap: 6px;
}

.sale-compact-row__period strong {
  flex: 0 0 auto;
  color: #3d4a60;
  font-size: 0.68rem;
  font-weight: 950;
  white-space: nowrap;
}

.sale-compact-row__period span {
  min-width: 0;
  font-weight: 700;
}

@media (max-width: 720px) {
  .sale-compact-row__link {
    min-height: 166px;
  }

  .sale-compact-row__image,
  .sale-compact-row__image img {
    min-height: 166px;
  }

  .sale-compact-row__periods {
    display: grid;
    gap: 2px;
    margin-top: 6px;
    font-size: 0.66rem;
  }

  .sale-compact-row__period {
    gap: 5px;
  }

  .sale-compact-row__period strong {
    font-size: 0.63rem;
  }
}

@media (max-width: 480px) {
  .sale-compact-row__link {
    grid-template-columns: 96px minmax(0, 1fr) 14px;
    min-height: 180px;
  }

  .sale-compact-row__image,
  .sale-compact-row__image img {
    min-height: 180px;
  }

  .sale-compact-row__periods {
    font-size: 0.61rem;
    line-height: 1.4;
  }

  .sale-compact-row__period strong {
    font-size: 0.59rem;
  }
}

/* 0.4.8: 一覧ではセール期間の時刻を省略し、日付だけを表示。詳細記事では従来どおり時刻を表示。 */


/* 0.4.9: セール画像を広くし、トリミングせず画像全体を表示。 */
.sale-compact-row__link {
  grid-template-columns: 290px minmax(0, 1fr) auto 22px;
  min-height: 164px;
}

.sale-compact-row__image {
  height: 164px;
  min-height: 164px;
  padding: 6px;
  background: #f7f9fc;
}

.sale-compact-row__image img {
  position: static;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  border-radius: 10px;
}

.entry-featured-image {
  padding: 10px;
  background: #f7f9fc;
}

.entry-featured-image img {
  width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 900px) {
  .sale-compact-row__link {
    grid-template-columns: 210px minmax(0, 1fr) auto 18px;
  }
}

@media (max-width: 720px) {
  .sale-compact-row__link {
    grid-template-areas:
      "image body arrow"
      "image price arrow";
    grid-template-columns: 160px minmax(0, 1fr) 16px;
    min-height: 172px;
  }

  .sale-compact-row__image {
    height: 172px;
    min-height: 172px;
  }

  .sale-compact-row__image img {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .sale-compact-row__link {
    grid-template-areas:
      "image image"
      "body arrow"
      "price arrow";
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 0 10px;
    padding: 0 12px 12px;
  }

  .sale-compact-row__image {
    width: calc(100% + 24px);
    height: auto;
    min-height: 0;
    margin: 0 -12px;
    padding: 8px;
    aspect-ratio: 16 / 9;
    border-bottom: 1px solid var(--line);
  }

  .sale-compact-row__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .sale-compact-row__body {
    padding: 12px 0 2px;
  }

  .sale-compact-row__price {
    padding: 2px 0 0;
  }
}

/* 0.5.1: セール詳細をワイド化。空のサイドバーを保持し、期間アイコンと表レイアウトを調整。 */
.single-kitayo_sale .content-area > .container {
  width: min(calc(100% - 40px), 1500px);
}

.single-kitayo_sale .entry-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  align-items: start;
  gap: 28px;
}

.single-kitayo_sale .entry-main {
  width: 100%;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
}

.single-kitayo_sale .entry-side--empty {
  min-width: 0;
  min-height: 1px;
}

.single-kitayo_sale .entry-featured-image {
  width: min(100%, 760px);
  margin: 0 auto 30px;
  padding: 8px;
}

.single-kitayo_sale .entry-featured-image img {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
  object-position: center;
}

.single-kitayo_sale .sale-summary {
  gap: 16px;
  margin: 30px 0 34px;
}

.single-kitayo_sale .sale-summary__item {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 98px;
  padding: 18px 20px;
  border: 1px solid transparent;
  border-radius: 18px;
}

.single-kitayo_sale .sale-summary__item--sale {
  border-color: #ffd9bb;
  background: #fff7ef;
}

.single-kitayo_sale .sale-summary__item--travel {
  border-color: #cfe2ff;
  background: #f2f7ff;
}

.single-kitayo_sale .sale-summary__icon {
  display: grid;
  width: 50px;
  height: 50px;
  border-radius: 15px;
  place-items: center;
}

.single-kitayo_sale .sale-summary__item--sale .sale-summary__icon {
  color: #d85b09;
  background: #ffe6d2;
}

.single-kitayo_sale .sale-summary__item--travel .sale-summary__icon {
  color: #1768e5;
  background: #dceaff;
}

.single-kitayo_sale .sale-summary__icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.single-kitayo_sale .sale-summary__item--travel .sale-summary__icon svg {
  fill: currentColor;
  stroke: none;
}

.single-kitayo_sale .sale-summary dt {
  color: var(--muted);
  font-size: 0.79rem;
  letter-spacing: 0.04em;
}

.single-kitayo_sale .sale-summary dd {
  margin-top: 5px;
  font-size: clamp(1rem, 1.7vw, 1.2rem);
  line-height: 1.45;
}

.single-kitayo_sale .fare-table-wrap {
  margin: 34px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.single-kitayo_sale .fare-table {
  min-width: 1040px;
}

.single-kitayo_sale .fare-table__route { width: 34%; }
.single-kitayo_sale .fare-table__price { width: 13%; }
.single-kitayo_sale .fare-table__type { width: 13%; }
.single-kitayo_sale .fare-table__period { width: 22%; }
.single-kitayo_sale .fare-table__notes { width: 18%; }

.single-kitayo_sale .fare-table th,
.single-kitayo_sale .fare-table td {
  padding: 15px 14px;
  vertical-align: middle;
}

.single-kitayo_sale .fare-route,
.single-kitayo_sale .fare-price,
.single-kitayo_sale .fare-type,
.single-kitayo_sale .fare-period {
  white-space: nowrap;
}

.single-kitayo_sale .fare-notes {
  min-width: 160px;
}

@media (max-width: 1100px) {
  .single-kitayo_sale .entry-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .single-kitayo_sale .entry-side--empty {
    display: none;
  }
}

@media (max-width: 760px) {
  .single-kitayo_sale .content-area > .container {
    width: min(calc(100% - 20px), 1320px);
  }

  .single-kitayo_sale .entry-main {
    padding: 20px 16px 28px;
  }

  .single-kitayo_sale .entry-featured-image {
    width: 100%;
  }

  .single-kitayo_sale .entry-featured-image img {
    max-height: 270px;
  }

  .single-kitayo_sale .sale-summary {
    grid-template-columns: 1fr;
  }

  .single-kitayo_sale .sale-summary__item {
    grid-template-columns: 44px minmax(0, 1fr);
    min-height: 88px;
    padding: 15px;
  }

  .single-kitayo_sale .sale-summary__icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }
}



/* 0.5.2: 詳細ページを簡潔化。タイトル・期間カード・運賃表・注記を調整。 */
.single-kitayo_sale .entry-header h1 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
  line-height: 1.32;
  letter-spacing: -0.025em;
}

.single-kitayo_sale .entry-header {
  margin-bottom: 22px;
}

.single-kitayo_sale .sale-summary {
  gap: 12px;
  margin: 20px 0 24px;
}

.single-kitayo_sale .sale-summary__item {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  min-height: 68px;
  padding: 10px 14px;
  border-radius: 14px;
}

.single-kitayo_sale .sale-summary__icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
}

.single-kitayo_sale .sale-summary__icon svg {
  width: 21px;
  height: 21px;
}

.single-kitayo_sale .sale-summary dt {
  font-size: 0.72rem;
  line-height: 1.2;
}

.single-kitayo_sale .sale-summary dd {
  margin-top: 2px;
  font-size: clamp(0.93rem, 1.35vw, 1.04rem);
  line-height: 1.3;
}

.single-kitayo_sale .fare-table {
  min-width: 820px;
}

.single-kitayo_sale .fare-table__route { width: 42%; }
.single-kitayo_sale .fare-table__price { width: 16%; }
.single-kitayo_sale .fare-table__type { width: 12%; }
.single-kitayo_sale .fare-table__period { width: 30%; }

.single-kitayo_sale .fare-table th,
.single-kitayo_sale .fare-table td {
  padding: 13px 14px;
}

.single-kitayo_sale .fare-disclaimer {
  margin: -12px 2px 24px;
  color: #7a8495;
  font-size: 0.76rem;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .single-kitayo_sale .entry-header h1 {
    font-size: 1.5rem;
  }

  .single-kitayo_sale .sale-summary__item {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 64px;
    padding: 10px 12px;
  }

  .single-kitayo_sale .sale-summary__icon {
    width: 36px;
    height: 36px;
  }
}

/* 0.5.3: セール詳細ページの文字サイズと余白を全体的にコンパクト化。 */
.single-kitayo_sale .content-area > .container {
  width: min(calc(100% - 36px), 1340px);
}

.single-kitayo_sale .entry-shell {
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 24px;
}

.single-kitayo_sale .entry-main {
  padding: clamp(22px, 2.6vw, 34px);
  font-size: 0.88rem;
  line-height: 1.68;
}

.single-kitayo_sale .section-eyebrow {
  margin-bottom: 5px;
  font-size: 0.66rem;
  letter-spacing: 0.14em;
}

.single-kitayo_sale .entry-header {
  margin-bottom: 16px;
}

.single-kitayo_sale .entry-header h1 {
  font-size: clamp(1.3rem, 1.9vw, 1.72rem);
  line-height: 1.36;
  letter-spacing: -0.02em;
}

.single-kitayo_sale .entry-meta {
  gap: 5px 12px;
  margin-top: 8px;
  font-size: 0.73rem;
  line-height: 1.45;
}

.single-kitayo_sale .entry-featured-image {
  margin-bottom: 20px;
  border-radius: 14px;
}

.single-kitayo_sale .entry-featured-image figcaption {
  padding: 6px 10px;
  font-size: 0.66rem;
}

.single-kitayo_sale .sale-summary {
  gap: 10px;
  margin: 16px 0 20px;
}

.single-kitayo_sale .sale-summary__item {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 9px;
  min-height: 56px;
  padding: 8px 12px;
  border-radius: 12px;
}

.single-kitayo_sale .sale-summary__icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

.single-kitayo_sale .sale-summary__icon svg {
  width: 18px;
  height: 18px;
}

.single-kitayo_sale .sale-summary dt {
  font-size: 0.65rem;
  line-height: 1.15;
}

.single-kitayo_sale .sale-summary dd {
  margin-top: 1px;
  font-size: 0.85rem;
  line-height: 1.25;
}

.single-kitayo_sale .notice-box {
  margin: 18px 0;
  padding: 11px 13px;
  font-size: 0.78rem;
  line-height: 1.55;
}

.single-kitayo_sale .fare-table-wrap {
  margin: 22px 0;
  border-radius: 12px;
}

.single-kitayo_sale .fare-table {
  min-width: 720px;
  font-size: 0.78rem;
}

.single-kitayo_sale .fare-table th {
  font-size: 0.69rem;
}

.single-kitayo_sale .fare-table th,
.single-kitayo_sale .fare-table td {
  padding: 9px 11px;
  line-height: 1.4;
}

.single-kitayo_sale .fare-disclaimer {
  margin: -8px 2px 18px;
  font-size: 0.68rem;
  line-height: 1.55;
}

.single-kitayo_sale .entry-content {
  font-size: 0.85rem;
  line-height: 1.72;
}

.single-kitayo_sale .entry-content p,
.single-kitayo_sale .entry-content ul,
.single-kitayo_sale .entry-content ol {
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}

.single-kitayo_sale .entry-content h2 {
  margin-top: 1.8em;
  margin-bottom: 0.65em;
  font-size: 1.08rem;
  line-height: 1.45;
}

.single-kitayo_sale .entry-content h3 {
  margin-top: 1.55em;
  margin-bottom: 0.55em;
  font-size: 0.98rem;
  line-height: 1.45;
}

.single-kitayo_sale .entry-content a,
.single-kitayo_sale .entry-content li {
  font-size: inherit;
}

@media (max-width: 1100px) {
  .single-kitayo_sale .entry-shell {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .single-kitayo_sale .content-area > .container {
    width: min(calc(100% - 18px), 1340px);
  }

  .single-kitayo_sale .entry-main {
    padding: 18px 14px 24px;
    font-size: 0.86rem;
  }

  .single-kitayo_sale .entry-header h1 {
    font-size: 1.28rem;
  }

  .single-kitayo_sale .entry-meta {
    font-size: 0.7rem;
  }

  .single-kitayo_sale .sale-summary__item {
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 52px;
    padding: 8px 10px;
  }

  .single-kitayo_sale .sale-summary__icon {
    width: 30px;
    height: 30px;
  }

  .single-kitayo_sale .sale-summary dd {
    font-size: 0.82rem;
  }

  .single-kitayo_sale .fare-table {
    min-width: 660px;
    font-size: 0.75rem;
  }

  .single-kitayo_sale .fare-table th,
  .single-kitayo_sale .fare-table td {
    padding: 8px 9px;
  }

  .single-kitayo_sale .entry-content {
    font-size: 0.83rem;
  }
}

/* AirSale editorial redesign — 2026-07-27 */
:root {
  --as-ink: #20242a;
  --as-muted: #66707b;
  --as-line: #d8dde3;
  --as-soft: #f5f6f7;
  --as-navy: #163a5f;
  --as-red: #b5452d;
  --as-green: #24704a;
  --as-heading-font: "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, Arial, sans-serif;
}

html,
body {
  background: #fff;
}

body {
  color: var(--as-ink);
  font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, Arial, sans-serif;
  font-size: 15px;
  font-weight: 400;
  font-feature-settings: "palt" 1;
  letter-spacing: 0;
}

a {
  color: var(--as-navy);
}

.container,
.site-header__inner,
.site-footer__inner {
  width: min(1120px, calc(100% - 40px));
}

.site-header {
  background: #fff;
  border-bottom: 1px solid var(--as-line);
  box-shadow: none;
}

.site-header__inner {
  min-height: 62px;
}

.site-brand {
  color: var(--as-ink);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .01em;
}

.site-brand__mark {
  width: 32px;
  height: 32px;
  border-radius: 2px;
  background: var(--as-navy);
  box-shadow: none;
}

.site-nav a {
  color: #30363d;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
}

.site-nav a:hover {
  color: var(--as-navy);
  text-decoration: underline;
  text-underline-offset: 5px;
}

.hero {
  min-height: 0;
  padding: 62px 0 58px;
  background: #fff;
  border-bottom: 1px solid var(--as-line);
}

.hero::before,
.hero::after {
  display: none;
}

.hero__inner {
  display: block;
  max-width: 1120px;
}

.hero__inner > div:first-child {
  max-width: 760px;
}

.hero__eyebrow,
.section-eyebrow,
.kitayo-eyebrow {
  display: none;
}

.hero h1 {
  max-width: 760px;
  margin: 0 0 20px;
  color: var(--as-ink);
  font-size: clamp(36px, 4.5vw, 50px);
  font-family: var(--as-heading-font);
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -.015em;
}

.hero h1 em,
.hero h1 strong {
  color: var(--as-ink);
  font-style: normal;
}

.hero__lead {
  max-width: 700px;
  margin: 0;
  color: #4f5964;
  font-size: 16px;
  line-height: 1.9;
}

.hero__visual {
  display: none;
}

.hero__actions {
  display: flex;
  gap: 26px;
  margin-top: 30px;
}

.button,
.button--primary {
  min-height: 0;
  padding: 0 0 5px;
  color: var(--as-navy);
  background: transparent;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
}

.button:hover,
.button--primary:hover {
  color: var(--as-red);
  background: transparent;
  box-shadow: none;
  transform: none;
}

.site-section,
.site-section--soft {
  padding: 56px 0 62px;
  background: #fff;
}

.site-section--soft {
  background: var(--as-soft);
}

.section-head,
.kitayo-tool-header {
  margin-bottom: 24px;
}

.section-head h2,
.kitayo-tool-header h2 {
  margin: 0;
  color: var(--as-ink);
  font-size: clamp(27px, 3vw, 34px);
  font-family: var(--as-heading-font);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.section-head h2::before,
.kitayo-tool-header h2::before {
  display: inline-block;
  width: 3px;
  height: .9em;
  margin-right: 12px;
  background: var(--as-navy);
  content: "";
}

.section-head p,
.kitayo-tool-header p {
  margin-top: 8px;
  color: var(--as-muted);
  font-size: 14px;
  line-height: 1.7;
}

.archive-sale-list {
  overflow: hidden;
  background: #fff;
  border-top: 2px solid var(--as-ink);
}

.sale-compact-row {
  margin: 0;
  background: #fff;
  border: 0;
  border-bottom: 1px solid var(--as-line);
  border-radius: 0;
  box-shadow: none;
}

.sale-compact-row:hover {
  background: #fafafa;
  border-color: var(--as-line);
  box-shadow: none;
  transform: none;
}

.sale-compact-row__link {
  min-height: 142px;
  padding: 16px 18px 16px 0;
  color: inherit;
}

.sale-compact-row__image {
  border-radius: 0;
  background: #f2f3f4;
}

.sale-compact-row__body {
  padding-left: 20px;
}

.sale-compact-row__status {
  display: inline-block;
  margin-bottom: 7px;
  padding: 0 0 0 8px;
  color: var(--as-muted);
  background: transparent;
  border: 0;
  border-left: 3px solid #929aa3;
  border-radius: 0;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
}

.sale-compact-row__status--active {
  color: var(--as-green);
  background: transparent;
  border-left-color: var(--as-green);
}

.sale-compact-row__status--ended {
  color: #757b82;
  background: transparent;
  border-left-color: #9aa0a6;
}

.sale-compact-row__title {
  color: var(--as-ink);
  font-family: var(--as-heading-font);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -.01em;
}

.sale-compact-row__meta,
.sale-compact-row__airline,
.sale-compact-row__published,
.sale-compact-row__route,
.sale-compact-row__periods {
  color: #5e6872;
  font-size: 13px;
}

.sale-compact-row__period strong {
  color: #414951;
  font-weight: 600;
}

.sale-compact-row__price {
  color: var(--as-red);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -.02em;
}

.sale-compact-row__price--unknown {
  color: var(--as-muted);
  font-size: 13px;
  font-weight: 500;
}

.sale-compact-row__arrow {
  color: #8c949d;
}

.section-more {
  margin-top: 24px;
}

.kitayo-price-filters,
.kitayo-calendar-nav,
.kitayo-calendar-mode,
.kitayo-country-card,
.kitayo-calendar-grid,
.kitayo-empty,
.kitayo-price-disclaimer {
  border-color: var(--as-line);
  border-radius: 0;
  box-shadow: none;
}

.kitayo-price-filters select,
.kitayo-price-filters input,
.kitayo-switch,
.kitayo-calendar-nav button,
.kitayo-calendar-mode button {
  border-radius: 2px;
  box-shadow: none;
}

.kitayo-country-grid {
  gap: 12px;
}

.kitayo-country-card {
  background: #fff;
}

.kitayo-country-card__price {
  color: var(--as-red);
}

.kitayo-calendar-day,
.kitayo-calendar-event,
.kitayo-calendar-more {
  border-radius: 0;
}

.kitayo-calendar-event--sale {
  border-left: 3px solid var(--as-navy);
}

.site-footer {
  color: #d9dee4;
  background: #20262d;
  border-top: 0;
}

.site-footer a {
  color: #fff;
}

/* Article pages */
.single-kitayo_sale .site-main,
.single-kitayo_sale main {
  color: var(--as-ink);
}

.single-kitayo_sale article,
.single-kitayo_sale .sale-detail,
.single-kitayo_sale .sale-summary,
.single-kitayo_sale .sale-period-card,
.single-kitayo_sale table {
  border-radius: 0;
  box-shadow: none;
}

.single-kitayo_sale h1 {
  color: var(--as-ink);
  font-family: var(--as-heading-font);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
}

.single-kitayo_sale h2,
.single-kitayo_sale h3 {
  color: var(--as-ink);
  font-family: var(--as-heading-font);
  font-weight: 600;
}

.single-kitayo_sale .entry-header h1 {
  color: var(--as-ink) !important;
  font-family: var(--as-heading-font) !important;
  font-size: clamp(24px, 2.5vw, 29px) !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
  letter-spacing: -.02em !important;
}

.single-kitayo_sale .entry-meta {
  color: var(--as-muted) !important;
  font-size: 12px !important;
}

.single-kitayo_sale .entry-featured-image {
  overflow: hidden;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid var(--as-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.single-kitayo_sale .entry-featured-image img {
  display: block;
  border-radius: 0 !important;
}

.single-kitayo_sale .sale-summary {
  gap: 10px !important;
}

.single-kitayo_sale .sale-summary__item {
  min-height: 66px !important;
  padding: 11px 14px !important;
  background: #fff !important;
  border: 1px solid var(--as-line) !important;
  border-left: 3px solid var(--as-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.single-kitayo_sale .sale-summary__item--sale {
  border-left-color: var(--as-red) !important;
}

.single-kitayo_sale .sale-summary__item--travel {
  border-left-color: var(--as-navy) !important;
}

.single-kitayo_sale .sale-summary__item > div {
  padding: 0 8px !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.single-kitayo_sale .sale-summary__icon {
  width: 28px !important;
  height: 28px !important;
  color: var(--as-navy) !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.single-kitayo_sale .sale-summary__item--sale .sale-summary__icon {
  color: var(--as-red) !important;
}

.single-kitayo_sale .entry-content table {
  border-collapse: collapse !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.single-kitayo_sale .entry-content th,
.single-kitayo_sale .entry-content td {
  border-color: var(--as-line) !important;
}

@media (max-width: 760px) {
  .container,
  .site-header__inner,
  .site-footer__inner {
    width: min(100% - 28px, 1120px);
  }

  .site-header__inner {
    min-height: 56px;
  }

  .site-brand {
    font-size: 16px;
  }

  .site-brand__mark {
    width: 29px;
    height: 29px;
  }

  .hero {
    padding: 42px 0 40px;
  }

  .hero h1 {
    font-size: 36px;
  }

  .hero__lead {
    font-size: 15px;
    line-height: 1.8;
  }

  .hero__actions {
    gap: 20px;
    margin-top: 24px;
  }

  .site-section,
  .site-section--soft {
    padding: 42px 0 48px;
  }

  .sale-compact-row__link {
    padding: 14px 0;
  }

  .sale-compact-row__body {
    padding-left: 0;
  }

  .sale-compact-row__image {
    margin-bottom: 12px;
  }

  .sale-compact-row__title {
    font-size: 18px;
  }
}


/* AirSale desktop three-column sale cards - 2026-07-27 */
@media (min-width: 901px) {
  .home .archive-sale-list--home {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    overflow: visible;
    background: transparent;
    border-top: 0;
  }

  .home .archive-sale-list--home .sale-compact-row {
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--as-line);
    background: #fff;
  }

  .home .archive-sale-list--home .sale-compact-row__link {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 100%;
    padding: 0 18px 18px;
  }

  .home .archive-sale-list--home .sale-compact-row__image {
    display: flex;
    width: calc(100% + 36px);
    height: 172px;
    margin: 0 -18px;
    align-items: center;
    justify-content: center;
    background: #f3f4f5;
    border-bottom: 1px solid var(--as-line);
  }

  .home .archive-sale-list--home .sale-compact-row__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .home .archive-sale-list--home .sale-compact-row__body {
    flex: 1;
    padding: 16px 0 10px;
  }

  .home .archive-sale-list--home .sale-compact-row__title {
    font-size: 18px;
    line-height: 1.4;
  }

  .home .archive-sale-list--home .sale-compact-row__route {
    display: block;
    margin-top: 8px;
    line-height: 1.55;
  }

  .home .archive-sale-list--home .sale-compact-row__periods {
    display: grid;
    gap: 3px;
    margin-top: 8px;
  }

  .home .archive-sale-list--home .sale-compact-row__period {
    display: flex;
    justify-content: space-between;
    gap: 8px;
  }

  .home .archive-sale-list--home .sale-compact-row__price {
    align-self: flex-start;
    margin-top: auto;
    font-size: 20px;
  }

  .home .archive-sale-list--home .sale-compact-row__arrow {
    display: none;
  }
}


/* AirSale 0.5.5: 抽選・特典キャンペーンの別枠表示とスマホ1行1件固定 */
.sale-compact-row--promotion .sale-compact-row__status {
  color: #76542b;
  border-left-color: #a77735;
}

.sale-compact-row--promotion .sale-compact-row__price--unknown {
  color: #76542b;
  font-weight: 700;
}

#campaigns .archive-sale-list {
  border-top-color: #a77735;
}

@media (max-width: 900px) {
  .home .archive-sale-list--home {
    display: block !important;
    grid-template-columns: none !important;
  }

  .home .archive-sale-list--home .sale-compact-row {
    width: 100% !important;
  }
}

@media (max-width: 720px) {
  .home .archive-sale-list--home .sale-compact-row__link {
    display: grid !important;
    grid-template-areas:
      "image body arrow"
      "image price arrow" !important;
    grid-template-columns: 116px minmax(0, 1fr) 16px !important;
    align-items: stretch !important;
    gap: 2px 12px !important;
    min-height: 158px !important;
    padding: 0 12px 0 0 !important;
  }

  .home .archive-sale-list--home .sale-compact-row__image {
    grid-area: image !important;
    width: 116px !important;
    height: 100% !important;
    min-height: 158px !important;
    margin: 0 !important;
    padding: 5px !important;
    border-right: 1px solid var(--as-line);
    border-bottom: 0 !important;
    aspect-ratio: auto !important;
  }

  .home .archive-sale-list--home .sale-compact-row__image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
  }

  .home .archive-sale-list--home .sale-compact-row__body {
    grid-area: body !important;
    align-self: end !important;
    padding: 10px 0 2px !important;
  }

  .home .archive-sale-list--home .sale-compact-row__price {
    grid-area: price !important;
    align-self: start !important;
    margin: 0 !important;
    padding: 1px 0 10px !important;
    font-size: 1.08rem !important;
  }

  .home .archive-sale-list--home .sale-compact-row__arrow {
    grid-area: arrow !important;
    display: block !important;
    align-self: center !important;
  }
}

@media (max-width: 480px) {
  .home .archive-sale-list--home .sale-compact-row__link {
    grid-template-columns: 100px minmax(0, 1fr) 12px !important;
    gap: 2px 9px !important;
    min-height: 166px !important;
    padding-right: 9px !important;
  }

  .home .archive-sale-list--home .sale-compact-row__image {
    width: 100px !important;
    min-height: 166px !important;
  }

  .home .archive-sale-list--home .sale-compact-row__title {
    font-size: 0.98rem !important;
    line-height: 1.35 !important;
  }

  .home .archive-sale-list--home .sale-compact-row__periods {
    gap: 1px !important;
    margin-top: 4px !important;
  }

  .home .archive-sale-list--home .sale-compact-row__price {
    font-size: 1rem !important;
  }
}


/* AirSale 0.5.6: 今日から1年の、行き先中心セールタイムライン */
.sale-year-map {
  background: #fff;
  border-top: 2px solid var(--as-ink);
  border-bottom: 1px solid var(--as-line);
}

.sale-year-map__summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 16px;
  color: var(--as-muted);
  border-bottom: 1px solid var(--as-line);
  font-size: 13px;
}

.sale-year-map__summary strong {
  color: var(--as-ink);
  font-size: 15px;
}

.sale-year-map__mobile-hint {
  display: none;
  margin: 10px 0 0;
  color: var(--as-muted);
  font-size: 12px;
}

.sale-year-map__scroll {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.sale-year-map__inner {
  min-width: 900px;
}

.sale-year-map__axis,
.sale-year-map__row {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
}

.sale-year-map__axis {
  min-height: 48px;
  color: var(--as-muted);
  border-bottom: 1px solid var(--as-line);
  font-size: 11px;
}

.sale-year-map__axis-spacer {
  display: flex;
  align-items: center;
  padding: 0 16px;
  border-right: 1px solid var(--as-line);
  font-weight: 600;
}

.sale-year-map__axis-track,
.sale-year-map__track {
  position: relative;
  background-image: repeating-linear-gradient(
    to right,
    transparent 0,
    transparent calc(8.333333% - 1px),
    #e4e7ea calc(8.333333% - 1px),
    #e4e7ea 8.333333%
  );
}

.sale-year-map__tick {
  position: absolute;
  top: 16px;
  left: var(--tick-left);
  padding: 0 4px;
  background: #fff;
  transform: translateX(-50%);
  white-space: nowrap;
}

.sale-year-map__tick:first-child {
  transform: translateX(0);
}

.sale-year-map__tick:last-child {
  transform: translateX(-100%);
}

.sale-year-map__row {
  min-height: 78px;
  color: inherit;
  border-bottom: 1px solid var(--as-line);
  text-decoration: none;
}

.sale-year-map__row:last-child {
  border-bottom: 0;
}

.sale-year-map__row:hover {
  background: #f8f9fa;
}

.sale-year-map__destination {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  gap: 2px 10px;
  min-width: 0;
  padding: 10px 16px;
  border-right: 1px solid var(--as-line);
}

.sale-year-map__destination strong {
  overflow: hidden;
  color: var(--as-ink);
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-year-map__destination > span {
  color: var(--as-red);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.sale-year-map__destination small {
  grid-column: 1 / -1;
  color: var(--as-muted);
  font-size: 10px;
  line-height: 1.4;
}

.sale-year-map__track {
  min-height: 78px;
}

.sale-year-map__bar {
  position: absolute;
  top: 21px;
  left: var(--bar-left);
  display: flex;
  width: var(--bar-width);
  min-width: 12px;
  height: 36px;
  align-items: center;
  overflow: hidden;
  padding: 0 9px;
  color: #fff;
  background: var(--as-navy);
  border-left: 3px solid var(--as-red);
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.sale-year-map__row:hover .sale-year-map__bar {
  background: #0f3154;
}

@media (max-width: 760px) {
  #year-map {
    padding-top: 38px;
  }

  .section-head--year-map h2 {
    font-size: 26px;
  }

  .sale-year-map__summary {
    display: grid;
    gap: 3px;
    padding: 12px;
  }

  .sale-year-map__mobile-hint {
    display: block;
  }

  .sale-year-map__inner {
    min-width: 800px;
  }

  .sale-year-map__axis,
  .sale-year-map__row {
    grid-template-columns: 200px 600px;
  }

  .sale-year-map__destination {
    padding-right: 12px;
    padding-left: 12px;
  }

  .sale-year-map__destination strong,
  .sale-year-map__destination > span {
    font-size: 13px;
  }
}


.sale-year-map__coverage {
  margin: 0;
  padding: 10px 16px;
  color: var(--as-muted);
  border-top: 1px solid var(--as-line);
  font-size: 11px;
  line-height: 1.5;
  text-align: right;
}

.sale-year-map__coverage strong {
  color: var(--as-ink);
  font-weight: 700;
}

@media (max-width: 760px) {
  .sale-year-map__coverage {
    padding: 9px 12px;
    text-align: left;
  }
}


/* AirSale 0.6.3: 白と青を基調にした統一カラーパレット */
:root {
  --ink: #172a3a;
  --muted: #65798b;
  --line: #d9e5ef;
  --soft: #f4f8fc;
  --primary: #176fc1;
  --accent: #176fc1;
  --as-ink: #172a3a;
  --as-muted: #65798b;
  --as-line: #d9e5ef;
  --as-soft: #f4f8fc;
  --as-navy: #123f68;
  --as-red: #176fc1;
  --as-green: #176fc1;
}

html,
body {
  background: #fff;
}

a,
.site-nav a:hover,
.button:hover,
.button--primary:hover {
  color: #176fc1;
}

.site-header {
  background: #fff;
  border-bottom-color: #d9e5ef;
}

.site-brand__mark {
  background: #123f68;
}

.site-section--soft {
  background: #f4f8fc;
}

.section-head h2::before,
.kitayo-tool-header h2::before {
  background: #176fc1;
}

.sale-compact-row__status--active,
.sale-compact-row__status--upcoming {
  color: #176fc1;
  border-left-color: #176fc1;
}

.sale-compact-row__price,
.kitayo-country-card__price,
.kitayo-min-price,
.sale-year-map__destination > span {
  color: #176fc1;
}

.sale-compact-row--promotion .sale-compact-row__status,
.sale-compact-row--promotion .sale-compact-row__price--unknown {
  color: #315f89;
  border-left-color: #76a4cc;
}

#campaigns .archive-sale-list {
  border-top-color: #76a4cc;
}

.sale-year-map__bar {
  background: #123f68;
  border-left-color: #2f8bd6;
}

.sale-year-map__row:hover .sale-year-map__bar {
  background: #0c3154;
}

.kitayo-calendar-event--sale {
  border-left-color: #176fc1;
}

.site-footer {
  background: #0f3150;
}


/* AirSale 0.6.4: ネイビー廃止・国別/地方別セールマップ */
:root {
  --as-navy: #1976d2;
  --as-red: #1976d2;
  --as-green: #1976d2;
  --primary: #1976d2;
  --accent: #1976d2;
}
.site-brand__mark,
.sale-year-map__bar,
.sale-year-map__row:hover .sale-year-map__bar {
  background: #1976d2;
}
.sale-year-map__bar {
  border-left-color: #8ec5f4;
}
.site-footer {
  background: #1976d2;
}
.sale-year-map__country-group {
  border-bottom: 1px solid #d9e5ef;
}
.sale-year-map__country-group:last-child {
  border-bottom: 0;
}
.sale-year-map__country-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 9px 16px;
  color: #176fc1;
  background: #eef6fd;
  border-bottom: 1px solid #d9e5ef;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.sale-year-map__country-title small {
  color: #65798b;
  font-size: 10px;
  font-weight: 600;
}
.sale-year-map__destination {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "locality price" "airline price" "period period";
}
.sale-year-map__destination > strong { grid-area: locality; }
.sale-year-map__destination > span { grid-area: price; align-self: center; }
.sale-year-map__destination > .sale-year-map__airline {
  grid-area: airline;
  color: #337ab7;
  font-size: 10px;
  font-weight: 700;
}
.sale-year-map__destination > small:not(.sale-year-map__airline) { grid-area: period; }
@media (max-width: 760px) {
  .sale-year-map__country-title { padding: 8px 12px; }
}


/* AirSale 0.6.5: 文字色をニュートラルなチャコールへ */
:root { --ink: #20262c; --as-ink: #20262c; }


/* AirSale 0.6.6: 国旗付き国見出し・地方の重複統合 */
.sale-year-map__country-title {
  padding: 12px 16px;
  color: #1264a3;
  background: #eaf5fd;
  border-top: 1px solid #b9ddf7;
  font-size: 15px;
}
.sale-year-map__country-title > span {
  display: inline-flex;
  align-items: center;
}
.sale-year-map__country-flag {
  margin-right: 9px;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}
.sale-year-map__country-group .sale-year-map__row {
  background: #fff;
}
.sale-year-map__country-group .sale-year-map__destination {
  padding-left: 30px;
  box-shadow: inset 3px 0 #d9edfb;
}
.sale-year-map__country-group .sale-year-map__row:hover {
  background: #f8fcff;
}
.sale-year-map__bar {
  padding: 0 6px;
  font-size: 9px;
}
@media (max-width: 760px) {
  .sale-year-map__country-title { padding: 10px 12px; }
  .sale-year-map__country-group .sale-year-map__destination { padding-left: 22px; }
}


/* AirSale 0.6.7: スマホ余白・可読性・横スクロール改善 */
@media (max-width: 760px) {
  html, body { overflow-x: hidden; }
  .hero { padding: 30px 0 32px; }
  .hero h1 { margin-bottom: 14px; font-size: 30px; line-height: 1.28; }
  .hero__lead { font-size: 14px; line-height: 1.75; }
  .hero__actions { gap: 16px; margin-top: 18px; }
  .hero__actions .button { min-height: 44px; padding: 0 2px; }
  .site-section, .site-section--soft { padding: 34px 0 40px; }
  .section-head, .kitayo-tool-header { margin-bottom: 18px; }
  .section-head h2, .kitayo-tool-header h2, .section-head--year-map h2 { font-size: 24px; }
  .section-head p, .kitayo-tool-header p { margin-top: 6px; font-size: 13px; line-height: 1.65; }
  #year-map { padding-top: 30px; }
  .sale-year-map__inner { min-width: 760px; }
  .sale-year-map__axis, .sale-year-map__row { grid-template-columns: 190px 570px; }
  .sale-year-map__axis-spacer, .sale-year-map__destination {
    position: sticky;
    left: 0;
    z-index: 3;
    background: #fff;
  }
  .sale-year-map__axis-spacer { z-index: 5; }
  .sale-year-map__country-title {
    position: sticky;
    left: 0;
    z-index: 6;
    width: calc(100vw - 28px);
  }
  .sale-year-map__country-group .sale-year-map__destination { padding-left: 20px; }
  .sale-year-map__summary { padding: 10px 12px; }
  .sale-year-map__mobile-hint { margin: 8px 0; }
  .section-more { margin-top: 18px; }
  .site-footer { padding: 36px 0; }
}


/* AirSale 0.6.8: 航空会社名と期間バーを同じ行・同じ色で対応 */
.sale-year-map__row,
.sale-year-map__track,
.sale-year-map__destination {
  min-height: var(--row-height, 78px);
}
.sale-year-map__destination {
  grid-template-areas: "locality price" "count count" "airlines airlines";
  align-content: start;
  padding-top: 8px;
  padding-bottom: 8px;
}
.sale-year-map__destination > strong { grid-area: locality; }
.sale-year-map__destination > span:not(.sale-year-map__airline-stack) { grid-area: price; }
.sale-year-map__destination > small:not(.sale-year-map__airline) {
  grid-area: count;
  margin-top: -1px;
}
.sale-year-map__destination > .sale-year-map__airline-stack {
  grid-area: airlines;
  display: grid;
  gap: 4px;
  margin-top: 5px;
}
.sale-year-map__airline-line {
  display: flex;
  height: 20px;
  min-width: 0;
  align-items: center;
  gap: 6px;
  color: var(--sale-color);
  text-decoration: none;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
}
.sale-year-map__airline-line i {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  background: var(--sale-color);
  border-radius: 50%;
}
.sale-year-map__airline-line span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sale-year-map__bar {
  color: #fff;
  background: var(--sale-color) !important;
  border-left-color: var(--sale-color) !important;
  text-decoration: none;
}
.sale-year-map__bar:hover {
  filter: brightness(.9);
}
@media (max-width: 760px) {
  .sale-year-map__airline-line { font-size: 8.5px; }
}


/* AirSale 0.6.9: 航空会社名を期間バーの直前へ配置 */
.sale-year-map__destination > .sale-year-map__airline-stack {
  display: none;
}
.sale-year-map__bar {
  overflow: visible;
  z-index: 2;
}
.sale-year-map__bar-airline {
  position: absolute;
  top: 0;
  right: calc(100% + 4px);
  display: flex;
  max-width: 108px;
  height: 20px;
  align-items: center;
  justify-content: flex-end;
  overflow: hidden;
  padding: 0 4px 0 2px;
  color: var(--sale-color);
  background: #fff;
  border-right: 3px solid var(--sale-color);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sale-year-map__bar-airline.is-inside {
  position: static;
  flex: 0 1 auto;
  max-width: 52%;
  margin-right: 5px;
  padding: 0 5px 0 0;
  color: #fff;
  background: transparent;
  border-right: 1px solid rgba(255,255,255,.65);
}
.sale-year-map__bar-period {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .sale-year-map__bar-airline { max-width: 88px; font-size: 8px; }
}


/* AirSale 0.7.0: 航空会社は価格下、期間バーは日付のみ */
.sale-year-map__destination {
  grid-template-columns: minmax(0, 1fr) minmax(82px, auto);
  grid-template-areas: "locality price" "count airlines";
}
.sale-year-map__destination > .sale-year-map__airline-stack {
  grid-area: airlines;
  display: grid;
  justify-items: end;
  gap: 4px;
  margin-top: 7px;
}
.sale-year-map__airline-line {
  justify-content: flex-end;
  text-align: right;
}
.sale-year-map__bar-airline {
  display: none !important;
}
.sale-year-map__bar {
  overflow: hidden;
}
.sale-year-map__bar-period {
  width: 100%;
  text-align: center;
}
@media (max-width: 760px) {
  .sale-year-map__destination { grid-template-columns: minmax(0, 1fr) minmax(76px, auto); }
  .sale-year-map__destination > .sale-year-map__airline-stack { margin-top: 6px; }
}


/* AirSale 0.7.1: セールマップの情報順と価格訴求 */
.section-head--year-map p {
  display: none;
}
.sale-year-map__summary {
  display: none;
}
.sale-year-map__country-title > span:last-child {
  display: none;
}
.sale-year-map__destination {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "locality"
    "price"
    "airlines"
    "count";
  align-content: start;
  row-gap: 4px;
}
.sale-year-map__destination > :nth-child(1) {
  grid-area: locality;
}
.sale-year-map__destination > :nth-child(3) {
  grid-area: price;
  justify-self: start;
  margin: 2px 0 3px;
  padding: 4px 9px 5px;
  border-left: 4px solid #ff6b35;
  background: #fff2e8;
  color: #e54b20;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -.03em;
}
.sale-year-map__destination > .sale-year-map__airline-stack {
  grid-area: airlines;
  display: grid;
  justify-items: start;
  gap: 3px;
  margin: 0;
}
.sale-year-map__destination > :nth-child(4) {
  grid-area: count;
  justify-self: start;
}
.sale-year-map__airline-line {
  justify-content: flex-start;
  text-align: left;
}
@media (max-width: 760px) {
  .sale-year-map__destination {
    grid-template-columns: minmax(0, 1fr);
  }
  .sale-year-map__destination > :nth-child(3) {
    font-size: 20px;
  }
}


/* AirSale 0.7.2: 国見出しの地域件数を非表示 */
.sale-year-map__country-title > :last-child {
  display: none !important;
}


/* AirSale 0.7.3: 航空会社名と対応バーを同じ高さに固定 */
.sale-year-map__destination {
  padding: 8px 12px;
  grid-template-rows: 16px 28px auto 14px;
  row-gap: 2px;
}
.sale-year-map__destination > :nth-child(1) {
  line-height: 16px;
}
.sale-year-map__destination > :nth-child(3) {
  box-sizing: border-box;
  height: 28px;
  margin: 0;
  padding: 2px 8px 3px;
  line-height: 23px;
}
.sale-year-map__destination > .sale-year-map__airline-stack {
  align-self: start;
  gap: 4px;
  margin: 0;
}
.sale-year-map__airline-line {
  display: flex;
  align-items: center;
  min-height: 20px;
  height: 20px;
  line-height: 20px;
}
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(1) { top: 56px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(2) { top: 80px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(3) { top: 104px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(4) { top: 128px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(5) { top: 152px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(6) { top: 176px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(7) { top: 200px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(8) { top: 224px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(9) { top: 248px !important; }
.sale-year-map__track:not(.sale-year-map__track--route) > .sale-year-map__bar:nth-child(10) { top: 272px !important; }


/* AirSale 0.7.4: 国別の旅シーズン情報 */
.sale-year-map__season-guide {
  padding: 9px 12px 10px;
  border-bottom: 1px solid #d5e5f1;
  background: #f8fbfe;
}
.sale-year-map__season-facts {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.sale-year-map__season-facts > div {
  min-width: 0;
  padding: 2px 10px 3px;
  border-right: 1px solid #dce8f2;
}
.sale-year-map__season-facts > div:first-child {
  padding-left: 0;
}
.sale-year-map__season-facts > div:last-child {
  padding-right: 0;
  border-right: 0;
}
.sale-year-map__season-facts span {
  display: block;
  margin-bottom: 2px;
  color: #557086;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}
.sale-year-map__season-facts strong {
  display: block;
  color: #263b4d;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
}
.sale-year-map__season-temperatures {
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px solid #dce8f2;
  overflow-x: auto;
}
.sale-year-map__season-temperatures summary {
  width: max-content;
  cursor: pointer;
  color: #1378bd;
  font-size: 12px;
  font-weight: 700;
  list-style-position: inside;
}
.sale-year-map__season-temperatures summary small {
  margin-left: 5px;
  color: #718494;
  font-weight: 500;
}
.sale-year-map__temperature-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(56px, 1fr));
  min-width: 720px;
  margin-top: 7px;
  border-top: 1px solid #dce8f2;
  border-left: 1px solid #dce8f2;
}
.sale-year-map__temperature-grid span {
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 5px 2px;
  border-right: 1px solid #dce8f2;
  border-bottom: 1px solid #dce8f2;
  background: #fff;
}
.sale-year-map__temperature-grid b {
  color: #6b7c89;
  font-size: 10px;
}
.sale-year-map__temperature-grid em {
  color: #263b4d;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.sale-year-map__temperature-grid .is-current {
  background: #e9f5ff;
  box-shadow: inset 0 2px #1f8ed6;
}
.sale-year-map__temperature-grid .is-current b,
.sale-year-map__temperature-grid .is-current em {
  color: #0876bd;
}
@media (max-width: 760px) {
  .sale-year-map__season-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 0;
  }
  .sale-year-map__season-facts > div {
    padding: 2px 8px;
  }
  .sale-year-map__season-facts > div:nth-child(odd) {
    padding-left: 0;
  }
  .sale-year-map__season-facts > div:nth-child(even) {
    border-right: 0;
  }
  .sale-year-map__season-facts > div:last-child {
    grid-column: 1 / -1;
    padding-left: 0;
  }
}


/* AirSale 0.7.5: シーズン情報をY軸×12か月の表へ変更 */
.sale-year-map__season-guide {
  display: none !important;
}
.sale-year-map__season-matrix {
  border-bottom: 1px solid #cdddea;
  background: #fff;
}
.sale-year-map__season-matrix-row {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 32px;
  border-bottom: 1px solid #e3ebf1;
}
.sale-year-map__season-matrix-row:last-child {
  border-bottom: 0;
}
.sale-year-map__season-matrix-label {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  column-gap: 4px;
  padding: 5px 12px;
  border-right: 1px solid #d9e5ee;
  background: #f7fafc;
  color: #345064;
  font-size: 11px;
  line-height: 1.2;
}
.sale-year-map__season-matrix-label > span {
  font-size: 13px;
}
.sale-year-map__season-matrix-label b {
  font-size: 11px;
  font-weight: 700;
}
.sale-year-map__season-matrix-label small {
  grid-column: 2;
  color: #788a98;
  font-size: 9px;
}
.sale-year-map__season-matrix-months {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.sale-year-map__season-matrix-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 3px 2px;
  border-right: 1px solid #e3ebf1;
  color: #a7b2ba;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.15;
  text-align: center;
  overflow-wrap: anywhere;
}
.sale-year-map__season-matrix-cell:last-child {
  border-right: 0;
}
.sale-year-map__season-matrix-cell.is-current {
  box-shadow: inset 2px 0 #1e8fd0;
}
.sale-year-map__season-matrix-row.is-best .has-value {
  background: #e8f6ea;
  color: #23733a;
  font-size: 13px;
}
.sale-year-map__season-matrix-row.is-temperature .has-value {
  background: #f5f9fc;
  color: #3d5a6d;
}
.sale-year-map__season-matrix-row.is-rain .has-value {
  background: #e9f4fd;
  color: #176b9d;
}
.sale-year-map__season-matrix-row.is-risk .has-value {
  background: #fff0e7;
  color: #a94825;
}
.sale-year-map__season-matrix-row.is-events .has-value {
  background: #f3edfb;
  color: #7047a1;
}
@media (max-width: 760px) {
  .sale-year-map__season-matrix-row {
    grid-template-columns: 230px minmax(0, 1fr);
  }
  .sale-year-map__season-matrix-label {
    padding-inline: 10px;
  }
}


/* AirSale 0.7.6: 気温比較とセール棒の最低価格 */
.sale-year-map__season-matrix-row.is-temperature .sale-year-map__season-matrix-cell {
  flex-direction: column;
  gap: 1px;
}

.sale-year-map__season-matrix-row.is-temperature .sale-year-map__season-matrix-cell[data-japan-temp]::after {
  content: "（日本 " attr(data-japan-temp) "）";
  display: block;
  color: #80909c;
  font-size: 7px;
  font-weight: 500;
  line-height: 1.05;
  white-space: nowrap;
}

.sale-year-map__bar {
  overflow: visible;
}

.sale-year-map__bar-price {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: inline-flex;
  align-items: center;
  min-height: 16px;
  padding: 1px 4px;
  border: 1px solid #dce6ee;
  background: rgba(255,255,255,.96);
  color: var(--sale-color);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(-50%);
}

.sale-year-map__bar-price.is-inside {
  right: 3px;
}

.sale-year-map__bar-price.is-after {
  left: calc(100% + 4px);
}

.sale-year-map__bar-price.is-before {
  right: calc(100% + 4px);
}

.sale-year-map__bar:has(.sale-year-map__bar-price.is-inside) .sale-year-map__bar-period {
  padding-right: 48px;
}


/* AirSale 0.7.7: 最安値ラベルと航空会社別価格 */
.sale-year-map__minimum-price {
  display: inline-flex !important;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}

.sale-year-map__minimum-price b {
  color: #6f7d88;
  font-size: 8px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .04em;
}

.sale-year-map__airline-line {
  gap: 5px;
}

.sale-year-map__airline-price {
  flex: 0 0 50px;
  color: #e54b20;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.sale-year-map__bar-price {
  display: none !important;
}


/* AirSale 0.7.8: 航空会社別価格の既存太字指定を上書き */
.sale-year-map__destination .sale-year-map__airline-line > .sale-year-map__airline-price {
  color: #e54b20;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}


/* AirSale 0.7.9: 販売期間と搭乗期間を航空会社ごとに2段表示 */
.sale-year-map__axis-spacer {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
}

.sale-year-map__axis-spacer > b {
  font-size: 10px;
  line-height: 1;
}

.sale-year-map__period-legend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #6f7d88;
  font-size: 8px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.sale-year-map__period-legend i {
  display: inline-block;
  width: 15px;
  margin-left: 3px;
}

.sale-year-map__period-legend i:first-child {
  margin-left: 0;
}

.sale-year-map__period-legend .is-sale {
  height: 5px;
  background: #1976d2;
}

.sale-year-map__period-legend .is-travel {
  height: 8px;
  background: #fff;
  border: 1px solid #1976d2;
}

.sale-year-map__destination > .sale-year-map__airline-stack {
  gap: 0;
}

.sale-year-map__airline-line {
  height: 30px;
}

.sale-year-map__bar--sale {
  min-width: 8px;
  overflow: visible;
  background: var(--sale-color);
  border: 0;
  border-radius: 1px;
  box-shadow: none;
}

.sale-year-map__bar--travel {
  min-width: 10px;
  overflow: hidden;
  background: #fff;
  color: var(--sale-color);
  border: 2px solid var(--sale-color);
  border-radius: 2px;
  box-shadow: none;
}

.sale-year-map__bar--travel .sale-year-map__bar-period {
  box-sizing: border-box;
  padding: 0 3px;
  color: var(--sale-color);
  font-size: 8px;
  font-weight: 700;
  line-height: 10px;
  white-space: nowrap;
}


/* AirSale 0.7.10: 搭乗期間を白抜きで明確化 */
.sale-year-map__bar--travel {
  background: #fff !important;
}


/* AirSale 0.7.11: 旧1本表示のnth-child位置指定を解除 */
.sale-year-map__track > .sale-year-map__bar.sale-year-map__bar--sale,
.sale-year-map__track > .sale-year-map__bar.sale-year-map__bar--travel:not(.sale-year-map__bar--route) {
  top: var(--period-top) !important;
}


/* AirSale 0.7.12: 販売終了を航空会社横へ表示 */
.sale-year-map__bar--sale {
  display: none !important;
}

.sale-year-map__axis,
.sale-year-map__row {
  grid-template-columns: 285px minmax(0, 1fr);
}

.sale-year-map__sale-deadline {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 4px;
  margin-left: auto;
  white-space: nowrap;
  font-size: 8px;
  line-height: 1;
}

.sale-year-map__sale-deadline b {
  color: #6f7d88;
  font-size: 8px;
  font-weight: 600;
}

.sale-year-map__sale-deadline em {
  color: #e54b20;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.sale-year-map__airline-line > span {
  min-width: 0;
}

.sale-year-map__period-legend .is-travel {
  margin-left: 0;
}

@media (max-width: 760px) {
  .sale-year-map__inner {
    min-width: 850px;
  }

  .sale-year-map__axis,
  .sale-year-map__row {
    grid-template-columns: 280px 570px;
  }

  .sale-year-map__airline-price {
    flex-basis: 45px;
    font-size: 9px;
  }

  .sale-year-map__sale-deadline {
    gap: 3px;
  }

  .sale-year-map__sale-deadline b {
    font-size: 7.5px;
  }

  .sale-year-map__sale-deadline em {
    font-size: 8px;
  }
}


/* AirSale 0.7.13: 各国に月軸を表示 */
.sale-year-map__axis--country {
  min-height: 28px;
  color: #627480;
  border-top: 0;
  border-bottom: 1px solid #dbe7ef;
  background: #f8fbfd;
  font-size: 9px;
}

.sale-year-map__axis--country .sale-year-map__axis-spacer {
  min-height: 28px;
  padding: 0 14px;
  color: #6f7d88;
  background: #f8fbfd;
  font-size: 9px;
}

.sale-year-map__axis--country .sale-year-map__axis-track {
  min-height: 28px;
  background-color: #f8fbfd;
}

.sale-year-map__axis--country .sale-year-map__tick {
  top: 7px;
  padding: 0 3px;
  color: #627480;
  background: #f8fbfd;
  font-size: 9px;
  font-weight: 600;
}


/* AirSale 0.7.14: 開催中セールの全路線 */
.sale-year-map__route-directory {
  margin: 24px 0 0;
  border-top: 2px solid #279bd6;
  background: #fff;
}

.sale-year-map__route-directory-head {
  padding: 16px 4px 10px;
}

.sale-year-map__route-directory-head h3 {
  margin: 0;
  color: #18252d;
  font-size: 20px;
  line-height: 1.4;
}

.sale-year-map__route-directory-head p {
  margin: 4px 0 0;
  color: #637480;
  font-size: 12px;
  line-height: 1.65;
}

.sale-year-map__route-country {
  border-bottom: 1px solid #d9e6ed;
}

.sale-year-map__route-country > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  min-height: 48px;
  padding: 10px 6px;
  color: #18252d;
  cursor: pointer;
  list-style: none;
}

.sale-year-map__route-country > summary::-webkit-details-marker {
  display: none;
}

.sale-year-map__route-country > summary span {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
}

.sale-year-map__route-country > summary span b {
  font-size: 18px;
}

.sale-year-map__route-country > summary strong {
  color: #087fbf;
  font-size: 14px;
}

.sale-year-map__route-country > summary em {
  padding-left: 14px;
  border-left: 1px solid #d9e6ed;
  color: #687985;
  font-size: 11px;
  font-style: normal;
}

.sale-year-map__route-country > summary em::after {
  margin-left: 6px;
  content: "＋";
  color: #087fbf;
  font-size: 14px;
}

.sale-year-map__route-country[open] > summary {
  background: #f5fbfe;
}

.sale-year-map__route-country[open] > summary em::after {
  content: "−";
}

.sale-year-map__route-country-body {
  padding: 0 0 16px;
}

.sale-year-map__route-sale {
  margin: 10px 0 0;
  border: 1px solid #d9e6ed;
  border-radius: 3px;
  background: #fff;
  overflow: hidden;
}

.sale-year-map__route-sale > header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  border-bottom: 1px solid #d9e6ed;
  background: #f7fbfd;
}

.sale-year-map__route-sale > header div {
  min-width: 0;
}

.sale-year-map__route-sale > header a {
  display: block;
  color: #17252d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.sale-year-map__route-sale > header small {
  display: block;
  margin-top: 2px;
  color: #6a7a85;
  font-size: 10px;
}

.sale-year-map__route-sale > header > b {
  flex: 0 0 auto;
  color: #087fbf;
  font-size: 12px;
}

.sale-year-map__route-head,
.sale-year-map__route-line {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 112px 72px 138px;
  gap: 12px;
  align-items: center;
}

.sale-year-map__route-head {
  padding: 7px 14px;
  color: #72808a;
  background: #f3f6f8;
  font-size: 10px;
  font-weight: 600;
}

.sale-year-map__route-line {
  min-height: 45px;
  padding: 8px 14px;
  border-top: 1px solid #edf1f3;
  color: #263740;
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
}

.sale-year-map__route-head + .sale-year-map__route-line {
  border-top: 0;
}

.sale-year-map__route-line:hover {
  background: #f6fbfe;
}

.sale-year-map__route-line > strong {
  color: #0784c6;
  font-size: 14px;
  white-space: nowrap;
}

.sale-year-map__route-line > span:not(.sale-year-map__route-path) {
  color: #536671;
  white-space: nowrap;
}

.sale-year-map__route-path {
  font-weight: 650;
}

@media (max-width: 767px) {
  .sale-year-map__route-directory {
    margin-top: 18px;
  }

  .sale-year-map__route-directory-head {
    padding: 14px 2px 8px;
  }

  .sale-year-map__route-directory-head h3 {
    font-size: 18px;
  }

  .sale-year-map__route-directory-head p {
    font-size: 11px;
  }

  .sale-year-map__route-country > summary {
    gap: 8px;
    min-height: 45px;
    padding: 9px 4px;
  }

  .sale-year-map__route-country > summary span {
    font-size: 14px;
  }

  .sale-year-map__route-country > summary strong {
    font-size: 12px;
  }

  .sale-year-map__route-country > summary em {
    padding-left: 8px;
    font-size: 10px;
  }

  .sale-year-map__route-sale > header {
    align-items: flex-start;
    padding: 10px 11px;
  }

  .sale-year-map__route-sale > header a {
    font-size: 13px;
  }

  .sale-year-map__route-head {
    display: none;
  }

  .sale-year-map__route-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 10px;
    min-height: 0;
    padding: 10px 11px;
    font-size: 11px;
  }

  .sale-year-map__route-path {
    grid-column: 1 / -1;
    font-size: 12px;
  }

  .sale-year-map__route-line > strong {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: center;
    font-size: 15px;
  }

  .sale-year-map__route-line > span:nth-of-type(2),
  .sale-year-map__route-line > span:nth-of-type(3) {
    grid-column: 1;
  }

  .sale-year-map__route-line > span:nth-of-type(3)::before {
    content: "搭乗 ";
    color: #83919a;
  }
}


/* AirSale 0.7.15: 全路線を各国のセールマップ内へ統合 */
.sale-year-map__route-country--inline {
  margin: 10px 12px 18px;
  border: 1px solid #cfe1eb;
  background: #fff;
}

.sale-year-map__route-country--inline > summary {
  padding-right: 12px;
  padding-left: 12px;
}

.sale-year-map__route-country--inline .sale-year-map__route-country-body {
  padding-right: 12px;
  padding-left: 12px;
}

@media (max-width: 767px) {
  .sale-year-map__route-country--inline {
    position: sticky;
    left: 8px;
    width: calc(100vw - 40px);
    margin: 10px 8px 16px;
  }

  .sale-year-map__route-country--inline > summary {
    padding-right: 10px;
    padding-left: 10px;
  }

  .sale-year-map__route-country--inline .sale-year-map__route-country-body {
    padding-right: 8px;
    padding-left: 8px;
  }
}


/* AirSale 0.7.16: セールマップを1路線1行で表示 */
.sale-year-map__route-rows {
  background: #fff;
}

.sale-year-map__row--route {
  min-height: 58px;
  background: #fff;
}

.sale-year-map__row--route:hover {
  background: #f7fbfe;
}

.sale-year-map__route-summary {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 8px 14px 8px 18px;
  color: #20313b;
  border-right: 1px solid #dce7ee;
  box-shadow: inset 3px 0 #d9edfb;
  background: inherit;
  text-decoration: none;
}

.sale-year-map__route-summary:hover .sale-year-map__route-map-path {
  color: #0784c6;
}

.sale-year-map__route-map-path {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #1c2d37;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-year-map__route-map-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  line-height: 1;
}

.sale-year-map__route-map-meta b {
  color: #0784c6;
  font-size: 15px;
  font-weight: 800;
}

.sale-year-map__route-map-meta i {
  color: #6c7d87;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
}

.sale-year-map__track--route {
  min-height: 58px;
}

.sale-year-map__bar--route {
  min-width: 18px;
  padding: 0;
  border-color: #1590c9;
  color: #0d78ad;
}

.sale-year-map__bar--route .sale-year-map__bar-period {
  padding: 0 4px;
  color: #0d78ad;
  font-size: 8px;
  font-weight: 700;
}

.sale-year-map__country-title small {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .sale-year-map__row--route,
  .sale-year-map__track--route {
    min-height: 64px;
  }

  .sale-year-map__route-summary {
    position: sticky;
    left: 0;
    z-index: 4;
    gap: 5px;
    padding: 8px 10px 8px 14px;
  }

  .sale-year-map__route-map-path {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.35;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .sale-year-map__route-map-meta b {
    font-size: 14px;
  }
}


/* AirSale 0.7.17: 到着地を大項目に分割 */
.sale-year-map__arrival-group {
  margin: 0;
  background: #fff;
}

.sale-year-map__arrival-title {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 0 16px;
  color: #172c38;
  border-top: 1px solid #cbe4f1;
  border-bottom: 1px solid #cbe4f1;
  background: #edf8fd;
  line-height: 1;
}

.sale-year-map__arrival-group:first-child .sale-year-map__arrival-title {
  border-top: 0;
}

.sale-year-map__arrival-title > span {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
}

.sale-year-map__arrival-title small {
  color: #278fc5;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
}

.sale-year-map__arrival-title strong {
  color: #17303d;
  font-size: 16px;
  font-weight: 800;
}

.sale-year-map__arrival-title em {
  color: #627783;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .sale-year-map__arrival-title {
    min-height: 38px;
    padding-right: 12px;
    padding-left: 12px;
  }

  .sale-year-map__arrival-title > span {
    position: sticky;
    left: 12px;
  }

  .sale-year-map__arrival-title strong {
    font-size: 15px;
  }
}


/* AirSale 0.7.18: セールマップの密度と可読性を改善 */
#year-map.site-section {
  padding-top: 28px;
  padding-bottom: 40px;
}

#year-map .section-head--year-map {
  margin-bottom: 16px;
}

#year-map .section-head--year-map h2 {
  color: #202b31;
  font-size: 32px;
  line-height: 1.25;
}

.sale-year-map__axis {
  min-height: 42px;
}

.sale-year-map__axis-spacer {
  min-height: 42px;
  padding-right: 14px;
  padding-left: 14px;
}

.sale-year-map__axis-spacer > b {
  font-size: 12px;
}

.sale-year-map__period-legend {
  font-size: 10px;
}

.sale-year-map__tick {
  font-size: 11px;
  line-height: 1.2;
}

.sale-year-map__country-title {
  min-height: 44px;
  padding: 9px 14px;
  color: #26343c;
  font-size: 17px;
}

.sale-year-map__country-title small {
  font-size: 12px;
}

.sale-year-map__axis--country {
  min-height: 32px;
  font-size: 10px;
}

.sale-year-map__axis--country .sale-year-map__axis-spacer,
.sale-year-map__axis--country .sale-year-map__axis-track {
  min-height: 32px;
}

.sale-year-map__axis--country .sale-year-map__tick {
  top: 8px;
  font-size: 10px;
}

.sale-year-map__season-matrix-row {
  grid-template-columns: 285px minmax(0, 1fr);
  min-height: 34px;
}

.sale-year-map__season-matrix-label {
  min-height: 34px;
  grid-template-columns: 20px minmax(0, 1fr);
  padding: 5px 14px;
}

.sale-year-map__season-matrix-label b {
  font-size: 12px;
  line-height: 1.2;
}

.sale-year-map__season-matrix-label small {
  font-size: 10px;
  line-height: 1.15;
}

.sale-year-map__season-matrix-cell {
  min-height: 34px;
  padding: 3px;
  font-size: 10px;
  line-height: 1.15;
}

.sale-year-map__arrival-title {
  min-height: 38px;
  padding-right: 14px;
  padding-left: 14px;
}

.sale-year-map__arrival-title small {
  font-size: 10px;
}

.sale-year-map__arrival-title strong {
  color: #26343c;
  font-size: 18px;
}

.sale-year-map__arrival-title em {
  font-size: 11px;
}

.sale-year-map__row--route,
.sale-year-map__track--route {
  min-height: 48px;
}

.sale-year-map__route-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 0 14px 0 16px;
}

.sale-year-map__route-map-path {
  color: #26343c;
  font-size: 14px;
  line-height: 1.25;
}

.sale-year-map__route-map-meta {
  justify-self: end;
  gap: 5px;
}

.sale-year-map__route-map-meta b {
  color: #0784c6;
  font-size: 18px;
  line-height: 1;
}

.sale-year-map__route-map-meta i {
  font-size: 11px;
}

.sale-year-map__bar--route {
  height: 16px !important;
}

.sale-year-map__bar--route .sale-year-map__bar-period {
  padding-right: 5px;
  padding-left: 5px;
  font-size: 10px;
  line-height: 12px;
}

.sale-year-map__coverage {
  padding: 8px 14px;
  font-size: 12px;
}

@media (max-width: 760px) {
  #year-map.site-section {
    padding-top: 20px;
    padding-bottom: 30px;
  }

  #year-map .section-head--year-map {
    margin-bottom: 12px;
  }

  #year-map .section-head--year-map h2 {
    font-size: 27px;
  }

  .sale-year-map__inner {
    min-width: 850px;
  }

  .sale-year-map__axis,
  .sale-year-map__row {
    grid-template-columns: 260px 590px;
  }

  .sale-year-map__season-matrix-row {
    grid-template-columns: 260px 590px;
  }

  .sale-year-map__route-summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    padding-right: 10px;
    padding-left: 12px;
  }

  .sale-year-map__route-map-path {
    display: block;
    font-size: 13px;
    white-space: nowrap;
  }

  .sale-year-map__route-map-meta b {
    font-size: 17px;
  }

  .sale-year-map__route-map-meta i {
    font-size: 10px;
  }

  .sale-year-map__row--route,
  .sale-year-map__track--route {
    min-height: 50px;
  }

  .sale-year-map__arrival-title strong {
    font-size: 17px;
  }
}


/* AirSale 0.7.19: 価格の横に航空会社と括弧付き運賃種別を表示 */
.sale-year-map__row--route,
.sale-year-map__track--route {
  min-height: 56px;
}

.sale-year-map__route-summary {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 3px;
  padding: 5px 14px 5px 16px;
}

.sale-year-map__route-map-path {
  width: 100%;
}

.sale-year-map__route-map-meta {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-start;
  gap: 5px;
  white-space: nowrap;
}

.sale-year-map__route-map-meta b {
  flex: 0 0 auto;
  font-size: 17px;
}

.sale-year-map__route-airline {
  min-width: 0;
  overflow: hidden;
  color: #526873;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-year-map__route-map-meta i {
  flex: 0 0 auto;
  color: #788790;
  font-size: 10px;
}

@media (max-width: 760px) {
  .sale-year-map__row--route,
  .sale-year-map__track--route {
    min-height: 58px;
  }

  .sale-year-map__route-summary {
    gap: 3px;
    padding: 5px 10px 5px 12px;
  }

  .sale-year-map__route-map-meta b {
    font-size: 16px;
  }

  .sale-year-map__route-airline {
    font-size: 10.5px;
  }

  .sale-year-map__route-map-meta i {
    font-size: 9.5px;
  }

}


/* AirSale 0.7.20: 同じ出発空港の複数セールを一つのまとまりで表示 */
.sale-year-map__row--route.is-origin-continuation,
.sale-year-map__row--route.is-origin-continuation .sale-year-map__track--route {
  min-height: 42px;
}

.sale-year-map__row--route.is-origin-continuation .sale-year-map__route-summary {
  justify-content: center;
  gap: 0;
  padding-top: 4px;
  padding-bottom: 4px;
  background: #fbfdfe;
}

@media (max-width: 760px) {
  .sale-year-map__row--route.is-origin-continuation,
  .sale-year-map__row--route.is-origin-continuation .sale-year-map__track--route {
    min-height: 44px;
  }

}


/* AirSale 0.7.21: 出発空港と料金行の階層を明確化 */
.sale-year-map__route-map-meta {
  padding-left: 20px;
}

@media (max-width: 760px) {
  .sale-year-map__route-map-meta {
    padding-left: 18px;
  }
}


/* AirSale 0.7.22: セールマップの航空会社名を小型の公式ロゴへ変更 */
.sale-year-map__route-map-meta {
  align-items: center;
  gap: 7px;
}

.sale-year-map__route-airline {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 18px;
  max-width: 110px;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-year-map__route-airline img {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  object-fit: contain;
  border-radius: 2px;
}

@media (max-width: 760px) {
  .sale-year-map__route-map-meta {
    gap: 6px;
  }

  .sale-year-map__route-airline {
    min-width: 17px;
    max-width: 92px;
  }

  .sale-year-map__route-airline img {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
}


/* AirSale 0.7.23: 正方形アイコンと横長公式ロゴを同じ行で整える */
.sale-year-map__route-airline {
  min-width: 18px;
  max-width: 34px;
}

.sale-year-map__route-airline img {
  width: auto;
  max-width: 34px;
  height: 18px;
  flex: 0 1 auto;
}

@media (max-width: 760px) {
  .sale-year-map__route-airline {
    min-width: 17px;
    max-width: 30px;
  }

  .sale-year-map__route-airline img {
    width: auto;
    max-width: 30px;
    height: 17px;
    flex-basis: auto;
  }
}


/* AirSale 0.7.24: 掲載航空会社の公式ロゴ一覧 */
.airline-logo-directory {
  padding: 42px 0 46px;
  border-top: 1px solid #d9ebf7;
  background: #f5fbff;
}

.airline-logo-directory__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.airline-logo-directory__header h2 {
  margin: 1px 0 0;
  color: #172b38;
  font-family: inherit;
  font-size: clamp(22px, 2vw, 28px);
  font-weight: 700;
  letter-spacing: 0;
}

.airline-logo-directory__header > p {
  margin: 0 0 2px;
  color: #607683;
  font-size: 13px;
}

.airline-logo-directory__header > p strong {
  color: #0789d1;
  font-size: 16px;
}

.airline-logo-directory__eyebrow {
  margin: 0;
  color: #0789d1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.airline-logo-directory__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.airline-logo-directory__item {
  display: flex;
  min-width: 0;
  min-height: 88px;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  padding: 9px 11px 8px;
  border: 1px solid #dbe8f0;
  border-radius: 2px;
  background: #fff;
}

.airline-logo-directory__visual {
  position: relative;
  display: grid;
  width: 100%;
  height: 52px;
  place-items: center;
  overflow: hidden;
}

.airline-logo-directory__visual img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 142px;
  max-height: 42px;
  object-fit: contain;
  object-position: center;
  background: #fff;
}

.airline-logo-directory__fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  padding: 0 6px;
  color: #506976;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  place-items: center;
}

.airline-logo-directory__name {
  display: block;
  overflow: hidden;
  color: #607683;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .airline-logo-directory__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .airline-logo-directory {
    padding: 30px 0 34px;
  }

  .airline-logo-directory__header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 14px;
  }

  .airline-logo-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .airline-logo-directory__item {
    min-height: 82px;
    padding: 7px 9px 7px;
  }

  .airline-logo-directory__visual {
    height: 48px;
  }

  .airline-logo-directory__visual img {
    max-width: 128px;
    max-height: 38px;
  }

  .airline-logo-directory__name {
    font-size: 10px;
  }
}


/* AirSale 0.7.25: 白抜きロゴを白背景でも見えるよう補正 */
.airline-logo-directory__item.is-logo-inverted .airline-logo-directory__visual {
  background: #111;
}

.airline-logo-directory__item.is-logo-inverted .airline-logo-directory__visual img {
  filter: none;
  background: transparent;
}


/* AirSale 0.7.27: 監視対象45社のロゴ一覧（社名ラベルなし） */
.airline-logo-directory__item {
  min-height: 66px;
  justify-content: center;
  padding: 7px 10px;
}

.airline-logo-directory__visual {
  height: 50px;
}

.airline-logo-directory__item.is-logo-on-brand .airline-logo-directory__visual img {
  background: transparent;
}

.airline-logo-directory__item.is-logo-on-brand .airline-logo-directory__fallback {
  color: #fff;
}

@media (max-width: 620px) {
  .airline-logo-directory__item {
    min-height: 62px;
    padding: 6px 8px;
  }

  .airline-logo-directory__visual {
    height: 48px;
  }
}


/* AirSale 0.7.28: 代替社名はロゴ読込失敗時だけ表示 */
.airline-logo-directory__fallback {
  opacity: 0;
}


/* AirSale 0.7.29: 下部45社の横長ロゴをセールマップにも共通利用 */
.sale-year-map__route-map-meta {
  gap: 8px;
}

.sale-year-map__route-airline {
  display: inline-flex;
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  height: 22px;
  flex: 0 0 66px;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
  overflow: hidden;
  border: 1px solid #d9e6ee;
  border-radius: 2px;
  background: #fff;
  box-sizing: border-box;
}

.sale-year-map__route-airline img,
.sale-year-map__route-airline-asset {
  display: block;
  width: 100%;
  max-width: 58px;
  height: 100%;
  max-height: 18px;
  flex: 1 1 auto;
  object-fit: contain;
  object-position: center;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 0;
}

.sale-year-map__route-airline-fallback {
  display: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #46616f;
  font-size: 8px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.05;
  text-align: center;
}

.sale-year-map__route-airline-fallback.is-visible {
  display: inline-grid;
}

.sale-year-map__route-airline[style] .sale-year-map__route-airline-fallback {
  color: #fff;
}

.sale-year-map__route-airline.logo-key-c5385e57b9 .sale-year-map__route-airline-asset { background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYwIDQ1IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjbGFzcz0ic2l0ZWhlYWRlci1tb2R1bGVfbG9nb0ltYWdlX19XYlVKeSI+PHRpdGxlPmpldHN0YXIgbG9nbzwvdGl0bGU+PGRlZnM+PC9kZWZzPjxnIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC00MzYuMDAwMDAwLCAtMTgxMS4wMDAwMDApIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MzYuMDAwMDAwLCAxODExLjAwMDAwMCkiPjxwYXRoIGQ9Ik01MS43OTMzMjY4LDIyLjM5NjI2MzIgTDQ3Ljg1MTA4MjksMjIuMzk2MjYzMiBMNDcuODUxMDgyOSwzMC45NzQ2ODQyIEM0Ny44NTEwODI5LDMyLjUzMDczNjggNDguNzUyNTQ2MywzMi44NzE3ODk1IDUwLjE0MTgxNDYsMzIuODcxNzg5NSBDNTAuNjY5NDI0NCwzMi44NzE3ODk1IDUxLjIzMTM3NTYsMzIuNzk2Nzg5NSA1MS43OTMzMjY4LDMyLjc5Njc4OTUgTDUxLjc5MzMyNjgsMzcuNTQyMzE1OCBDNTAuNjMwNCwzNy41ODEgNDkuNDY1OTEyMiwzNy43MzE3ODk1IDQ4LjMwMzc2NTksMzcuNzMxNzg5NSBDNDIuODYxNDI0NCwzNy43MzE3ODk1IDQxLjQ3MjE1NjEsMzYuMTM3ODQyMSA0MS40NzIxNTYxLDMwLjc4NDQyMTEgTDQxLjQ3MjE1NjEsMjIuMzk2MjYzMiBMMzguMjQ0MDU4NSwyMi4zOTYyNjMyIEwzOC4yNDQwNTg1LDE4LjA2MzYzMTYgTDQxLjQ3MjE1NjEsMTguMDYzNjMxNiBMNDEuNDcyMTU2MSwxMS44NzU3MzY4IEw0Ny44NTEwODI5LDExLjg3NTczNjggTDQ3Ljg1MTA4MjksMTguMDYzNjMxNiBMNTEuNzkzMzI2OCwxOC4wNjM2MzE2IEw1MS43OTMzMjY4LDIyLjM5NjI2MzIgWiIgZmlsbD0iIzAwMDAwMCI+PC9wYXRoPjxwYXRoIGQ9Ik04My45MTkyMTk1LDIyLjM5NjI2MzIgTDc5Ljk3NjE5NTEsMjIuMzk2MjYzMiBMNzkuOTc2MTk1MSwzMC45NzQ2ODQyIEM3OS45NzYxOTUxLDMyLjUzMDczNjggODAuODc4NDM5LDMyLjg3MTc4OTUgODIuMjY3NzA3MywzMi44NzE3ODk1IEM4Mi43OTI5NzU2LDMyLjg3MTc4OTUgODMuMzU2NDg3OCwzMi43OTY3ODk1IDgzLjkxOTIxOTUsMzIuNzk2Nzg5NSBMODMuOTE5MjE5NSwzNy41NDIzMTU4IEM4Mi43NTM5NTEyLDM3LjU4MSA4MS41OTEwMjQ0LDM3LjczMTc4OTUgODAuNDI3MzE3MSwzNy43MzE3ODk1IEM3NC45ODQ5NzU2LDM3LjczMTc4OTUgNzMuNTk2NDg3OCwzNi4xMzc4NDIxIDczLjU5NjQ4NzgsMzAuNzg0NDIxMSBMNzMuNTk2NDg3OCwyMi4zOTYyNjMyIEw3MC4zNjc2MDk4LDIyLjM5NjI2MzIgTDcwLjM2NzYwOTgsMTguMDYzNjMxNiBMNzMuNTk2NDg3OCwxOC4wNjM2MzE2IEw3My41OTY0ODc4LDExLjg3NTczNjggTDc5Ljk3NjE5NTEsMTEuODc1NzM2OCBMNzkuOTc2MTk1MSwxOC4wNjM2MzE2IEw4My45MTkyMTk1LDE4LjA2MzYzMTYgTDgzLjkxOTIxOTUsMjIuMzk2MjYzMiBaIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+PHBhdGggZD0iTTE3Ljc5OTcyNjgsMjkuMzQ1ODQyMSBDMTcuNzk5NzI2OCwzNS4xMDY2MzE2IDE0Ljg3OTE0MTUsMzguMDIyMTU3OSA4LjkwMDYwNDg4LDM4LjAyMjE1NzkgQzIuMTcyMDE5NTEsMzguMDIyMTU3OSAtNy44MDQ4Nzc5ZS0wNSwzNC4wOTg0NzM3IC03LjgwNDg3NzllLTA1LDI4LjM3MjQyMTEgTC03LjgwNDg3NzllLTA1LDI3LjI1NjEwNTMgTDYuMjI4OTk1MTIsMjcuMjU2MTA1MyBMNi4yMjg5OTUxMiwyOS42MzQgQzYuMjI4OTk1MTIsMzEuMzI1ODQyMSA3LjE1NTQzNDE1LDMyLjI2Mjk0NzQgOC43OTI4OTc1NiwzMi4yNjI5NDc0IEMxMC4zMjQyMTQ2LDMyLjI2Mjk0NzQgMTEuMTc4MDY4MywzMS4zOTg0NzM3IDExLjE3ODA2ODMsMjguOTEyNDIxMSBMMTEuMTc4MDY4MywxMS43NzQ1MjYzIEwxNy43OTk3MjY4LDExLjc3NDUyNjMgTDE3Ljc5OTcyNjgsMjkuMzQ1ODQyMSBaIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+PHBhdGggZD0iTTMyLjY3MDY3MzIsMjUuNjc3OTQ3NCBDMzIuNTU5MDYzNCwyMy40OTQyNjMyIDMxLjAzMzIwOTgsMjEuNjg2MzY4NCAyOC45MTEwNjM0LDIxLjY4NjM2ODQgQzI2LjY3ODg2ODMsMjEuNjg2MzY4NCAyNS4xOTA0NzgsMjMuMzA2MzY4NCAyNC44MTg5NjU5LDI1LjY3Nzk0NzQgTDMyLjY3MDY3MzIsMjUuNjc3OTQ3NCBaIE0yNC44MTg5NjU5LDI5LjI1MjY4NDIgQzI0LjkzMDU3NTYsMzEuOTI1MDUyNiAyNi40NTY0MjkzLDMzLjY5MjY4NDIgMjkuMTM1ODQzOSwzMy42OTI2ODQyIEMzMC42NjA5MTcxLDMzLjY5MjY4NDIgMzIuMTUwODY4MywzMi45NzkgMzIuNzQ2MzgwNSwzMS41NDkyNjMyIEwzOC42NjE2OTc2LDMxLjU0OTI2MzIgQzM3LjUwODkxNzEsMzYuMDY2NjMxNiAzMy4zNzg1NzU2LDM4LjAyMjE1NzkgMjkuMDYwMTM2NiwzOC4wMjIxNTc5IEMyMi43NzQwODc4LDM4LjAyMjE1NzkgMTguNDkyMzMxNywzNC4xODQ1MjYzIDE4LjQ5MjMzMTcsMjcuNjMzNDczNyBDMTguNDkyMzMxNywyMS42NDkyNjMyIDIzLjIxOTc0NjMsMTcuMzU2ODk0NyAyOC45MTEwNjM0LDE3LjM1Njg5NDcgQzM1LjgzMzk5MDIsMTcuMzU2ODk0NyAzOS4yOTYyMzQxLDIyLjYyOSAzOC45OTgwODc4LDI5LjI1MjY4NDIgTDI0LjgxODk2NTksMjkuMjUyNjg0MiBaIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+PHBhdGggZD0iTTU4LjAxMzQyNDQsMzEuMDQwNzYzMiBDNTguMDEzNDI0NCwzMi4wMTU3NjMyIDU4LjQyMDgzOSwzMi43MzAyMzY4IDU5LjA1MzAzNDEsMzMuMjE3MzQyMSBDNTkuNjQ2MjA0OSwzMy42Njg5MjExIDYwLjUwMjQsMzMuODkzOTIxMSA2MS4zOTIxNTYxLDMzLjg5MzkyMTEgQzYyLjYxNjc0MTUsMzMuODkzOTIxMSA2NC4zNjE5MTIyLDMzLjM2ODEzMTYgNjQuMzYxOTEyMiwzMS44Mjg2NTc5IEM2NC4zNjE5MTIyLDMwLjMyNjI4OTUgNjIuMzkzNTIyLDMwLjAyNzA3ODkgNjEuMjc5NzY1OSwyOS43NjMzOTQ3IEM1Ny4zMDcwODI5LDI4Ljc0OTcxMDUgNTIuMzM0NTk1MSwyOC42MzgzOTQ3IDUyLjMzNDU5NTEsMjMuMzgwNSBDNTIuMzM0NTk1MSwxOC42ODg2NTc5IDU3LjM0NzY2ODMsMTcuNDEwNSA2MS4xMzM4MTQ2LDE3LjQxMDUgQzY1LjM2MzI3OCwxNy40MTA1IDY5Ljc4MTYxOTUsMTguNjUwNzYzMiA3MC4wMDMyNzgsMjMuNzE5OTczNyBMNjQuMTc2OTM2NiwyMy43MTk5NzM3IEM2NC4xNzY5MzY2LDIyLjg5MjYwNTMgNjMuODc4MDA5OCwyMi4zNjc2MDUzIDYzLjM1OTc2NTksMjIuMDI3MzQyMSBDNjIuODQyMzAyNCwyMS42OTE4MTU4IDYyLjEzNTE4MDUsMjEuNTQwMjM2OCA2MS4zNTU0NzMyLDIxLjU0MDIzNjggQzYwLjMxNTA4MjksMjEuNTQwMjM2OCA1OC42NDQ4MzksMjEuNjUzOTIxMSA1OC42NDQ4MzksMjMuMDA1NSBDNTguNjQ0ODM5LDI0Ljg0NDE4NDIgNjIuODc1MDgyOSwyNS4xODI4Njg0IDY1Ljc3MTQ3MzIsMjUuODIyMzQyMSBDNjkuNjcwNzkwMiwyNi42MDk0NDc0IDcwLjY3MTM3NTYsMjkuNDYxODE1OCA3MC42NzEzNzU2LDMxLjA3NzA3ODkgQzcwLjY3MTM3NTYsMzYuMjk2Mjg5NSA2NS43NzE0NzMyLDM4LjAyMjA3ODkgNjEuNDI5NjE5NSwzOC4wMjIwNzg5IEM1Ni44NjIyMDQ5LDM4LjAyMjA3ODkgNTIuMTg3MDgyOSwzNi40ODMzOTQ3IDUyLjAwMTMyNjgsMzEuMDQwNzYzMiBMNTguMDEzNDI0NCwzMS4wNDA3NjMyIFoiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD48cGF0aCBkPSJNOTMuMjE5MiwzNC4wOTAxMDUzIEM5Ni4yMjAxNzU2LDM0LjA5MDEwNTMgOTcuMjE2ODU4NSwzMi4zNjk4NDIxIDk3LjA2OTM0NjMsMjguMzYxNjg0MiBDOTYuMTc5NTkwMiwyOC45MjIyMTA1IDk0LjU1MDcxMjIsMjkuMDM0MzE1OCA5My4xODE3MzY2LDI5LjQwOTMxNTggQzkxLjc3NDUxNzEsMjkuNzQ3MjEwNSA5MC41ODg5NTYxLDMwLjM0NzIxMDUgOTAuNTg4OTU2MSwzMS44ODI3MzY4IEM5MC41ODg5NTYxLDMzLjQ1NTM2ODQgOTEuODEyNzYxLDM0LjA5MDEwNTMgOTMuMjE5MiwzNC4wOTAxMDUzIEw5My4yMTkyLDM0LjA5MDEwNTMgWiBNODUuMDc0MDI5MywyNC4wMTcyMTA1IEM4NS4xODU2MzksMjEuNDcxMTU3OSA4Ni4zNjk2MzksMTkuODIxOTQ3NCA4OC4wNzAzMjIsMTguODEyMjEwNSBDODkuNzc0OTA3MywxNy44MzcyMTA1IDkxLjk5NTM5NTEsMTcuNDYyMjEwNSA5NC4xODE1NDE1LDE3LjQ2MjIxMDUgQzk4LjczNDEyNjgsMTcuNDYyMjEwNSAxMDMuMTM5MiwxOC40NzUxMDUzIDEwMy4xMzkyLDIzLjk4MDEwNTMgTDEwMy4xMzkyLDMyLjQ4MTk0NzQgQzEwMy4xMzkyLDM0LjEyOCAxMDMuMTM5MiwzNS45MjY0MjExIDEwMy44ODE0NDQsMzcuNDYyNzM2OCBMOTcuNTQ5MzQ2MywzNy40NjI3MzY4IEM5Ny4zMjg0NjgzLDM2Ljg2MTk0NzQgOTcuMjUyNzYxLDM2LjI2MzUyNjMgOTcuMTc5Mzk1MSwzNS42MjcyMTA1IEM5NS41NTA1MTcxLDM3LjM0OTg0MjEgOTMuMTQyNzEyMiwzOC4wMjE2ODQyIDkwLjg0OTYzOSwzOC4wMjE2ODQyIEM4Ny4xODQ0NjgzLDM4LjAyMTY4NDIgODQuMjk2NjYzNCwzNi4xNTA2MzE2IDg0LjI5NjY2MzQsMzIuMTQ0MDUyNiBDODQuMjk2NjYzNCwyNS44MTMyNjMyIDkxLjEwNzk4MDUsMjYuMzAxOTQ3NCA5NS40Nzc5MzE3LDI1LjQwMzUyNjMgQzk2LjU0OTU0MTUsMjUuMTc4NTI2MyA5Ny4xNDQyNzMyLDI0LjgwNDMxNTggOTcuMTQ0MjczMiwyMy42MDUxMDUzIEM5Ny4xNDQyNzMyLDIyLjE0Mzc4OTUgOTUuNDAzNzg1NCwyMS41ODI0NzM3IDk0LjEwNDI3MzIsMjEuNTgyNDczNyBDOTIuMzY2OTA3MywyMS41ODI0NzM3IDkxLjI1NjI3MzIsMjIuMzY5NTc4OSA5MC45NTg5MDczLDI0LjAxNzIxMDUgTDg1LjA3NDAyOTMsMjQuMDE3MjEwNSBaIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+PHBhdGggZD0iTTExMi44MzUyLDE4LjYzMjM2ODQgQzExMS44NzIwNzgsMTkuMjcwMjYzMiAxMTEuMTIzNTksMjAuMjAxODQyMSAxMTAuNjcwMTI3LDIxLjQxNTI2MzIgTDExMC41OTY3NjEsMjEuNDE1MjYzMiBMMTEwLjU5Njc2MSwxNy45OTY4NDIxIEwxMDQuNDcwNzEyLDE3Ljk5Njg0MjEgTDEwNC40NzA3MTIsMzcuNDgzNDIxMSBMMTEwLjc4MTczNywzNy40ODM0MjExIEwxMTAuNzgxNzM3LDI3LjgzMzY4NDIgQzExMC43ODE3MzcsMjUuMzk1Nzg5NSAxMTIuNDExMzk1LDIzLjIxNjA1MjYgMTE1LjUzMTAwNSwyMy4yMTYwNTI2IEMxMTYuMjUzNzM3LDIzLjIxNjA1MjYgMTE2LjkwMjMyMiwyMy4zMjgxNTc5IDExNy41Nzc0NDQsMjMuNDk5NDczNyBMMTEyLjgzNTIsMTguNjMyMzY4NCBaIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+PHBvbHlnb24gZmlsbD0iI0ZGNTExNCIgcG9pbnRzPSIxNDAuNTc3MzI3IDAuNjUyNzM2ODQyIDE0MS4zOTk5NjEgMTQuMDEzNzg5NSAxNTkuNjQ2MjA1IDE0LjAxMzc4OTUgMTQyLjE3MTA4MyAyNS43MTE0MjExIDE0Ni4wMjUxMzIgNDQuOTk5ODQyMSAxMzEuMTcxNjY4IDMxLjk1MTQyMTEgMTExLjE3NTU3MSA0Mi40NTIyMTA1IDEyMy4xMDA2NDQgMjUuOTIxNDIxMSAxMTEuNzkzNzE3IDE0LjAxMzc4OTUgMTMwLjA5MjI1NCAxNC4wMTM3ODk1Ij48L3BvbHlnb24+PC9nPjwvZz48L2c+PC9zdmc+"); }
.sale-year-map__route-airline.logo-key-e8b7611d57 .sale-year-map__route-airline-asset { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMzQgNDgiPjxzdmcgeD0iMCIgeT0iNSIgd2lkdGg9IjQwIiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgNDAgMzgiPiA8cGF0aCBkPSJNMzkuMDg5MSAyMy42NTkxQzM4Ljc0NjcgMjIuODkxOSAzOC4zMDUgMjIuMTgxOCAzNy43OTE0IDIxLjU0MzVDMzcuMjc5OSAyMC45MTU4IDM2LjY5ODcgMjAuMzY4NCAzNi4wNTgzIDE5LjkwOThDMzUuNzI4NiAxOS42NzA5IDM1LjM4MiAxOS40NjM4IDM1LjAyNDggMTkuMjhDMzQuODUxNSAxOS4xODcgMzQuNjU5MiAxOS4wOTE5IDM0LjQ2OSAxOS4wMDMxQzM0LjY1OTIgMTguOTEwMSAzNC44NTE1IDE4LjgxNzEgMzUuMDI0OCAxOC43MjQxQzM1LjM4MiAxOC41NDIzIDM1LjczMDcgMTguMzMzMSAzNi4wNTgzIDE4LjA5NjRDMzYuNzAwOCAxNy42Mzc4IDM3LjI3OTkgMTcuMDg2MSAzNy43OTE0IDE2LjQ1ODRDMzguMzA1IDE1LjgyMjMgMzguNzQ2NyAxNS4xMTIxIDM5LjA4OTEgMTQuMzQ0OUMzOS40NDIgMTMuNTQ2IDM5LjY5NzggMTIuNjk2NCAzOS44NDU3IDExLjgxMDlDMzkuOTQ1IDExLjE5MzcgNDAgMTAuNTkxNCA0MCAxMC4wMDhDNDAgOS43MjkwNyAzOS45ODk0IDkuNDUyMiAzOS45NjYyIDkuMTgzNzlDMzkuOTAyOCA4LjQ0NDA2IDM5Ljc0MjIgNy43MDQzNCAzOS40OTkxIDYuOTgxNTJDMzkuMjUxOCA2LjI2NzE2IDM4LjkyNDIgNS41NzgxNiAzOC41MTQyIDQuOTI1MDlDMzguMSA0LjI3MjAyIDM3LjYxMTggMy42NTkxMSAzNy4wNTggMy4xMTgwNUMzNi40ODc0IDIuNTU3OTggMzUuODU5NyAyLjA2NzY1IDM1LjE3NyAxLjY2Mzk3QzM0LjQ2NDggMS4yMzkxNiAzMy42OTc2IDAuOTA5NDUyIDMyLjg5ODcgMC42NzQ4NTRDMzIuMDYxNyAwLjQzMTgwMiAzMS4xODA0IDAuMjk0NDI1IDMwLjI4IDAuMjY0ODM2QzI5LjM5NjYgMC4yMzczNiAyOC41MzY0IDAuMzIxOSAyNy43MTY0IDAuNTEwMDAxQzI2LjkwOSAwLjY5ODEwMiAyNi4xNDE4IDAuOTg5NzY1IDI1LjQ0MjIgMS4zNzIzMUMyNC43MzQyIDEuNzUyNzQgMjQuMTA2NSAyLjIyNjE2IDIzLjU1MjggMi43NjUxQzIyLjk5NjkgMy4zMTQ2MSAyMi41MjU2IDMuOTMxNzUgMjIuMTc0OCA0LjYwMTczQzIxLjgwNDkgNS4yOTQ5NSAyMS41NTEzIDYuMDM0NjggMjEuNDIyNCA2Ljc5NzY1QzIxLjM1NjkgNy4yMDEzMyAyMS4zMTg4IDcuNjExMzQgMjEuMzE4OCA4LjAyNTU5QzIxLjMxODggOC4zNTUzIDIxLjM0MjEgOC42OTEzNCAyMS4zOTA3IDkuMDI1MjdDMjAuNjU3MyA4LjU4MzU1IDE5LjkyMTggOC4yMzI3MSAxOS4xOTI2IDcuOTkzODlDMTguMjc5NiA3LjY5MTY2IDE3LjI3NzggNy41MjY4IDE2LjIxNDcgNy40OTcyMkMxNS4yMjM1IDcuNDY3NjMgMTQuMjcyNCA3LjU2OTA3IDEzLjM4MjYgNy43ODY3NkMxMi41NDc4IDcuOTg1NDMgMTEuNzM0MSA4LjI5NCAxMC45NTY0IDguNzA0MDJDMTAuMjUwNCA5LjA3MTc3IDkuNTUwODggOS41NDUxOSA4Ljg3NjY4IDEwLjA5MjZDOC40NDEzIDEwLjQ0NzcgOC4wMTY0OSAxMC44MzY1IDcuNTg1MzMgMTEuMjc2MUM3LjU4NTMzIDExLjI3NjEgNi45NjM5NiAxMS44OTEyIDYuNjU3NTEgMTIuMjczN0M2LjMwMDMzIDEyLjY4MTYgNS45MzI1OCAxMy4xMjEyIDUuNTU0MjYgMTMuNjA5NEw0Ljc1OTU5IDE0LjY1MTRDNC41MTg2NSAxNC45NTE1IDQuMjg2MTcgMTUuMjMwNSA0LjA2MDAyIDE1LjQ5ODlDMy43MTk3NSAxNS44ODc4IDMuMzY2OCAxNi4yNjYxIDMuMDA1MzkgMTYuNjI3NUMyLjM3OTggMTcuMjQ0NyAxLjcwNzcgMTcuODE5NSAwLjk3ODU0OCAxOC4zMDU2QzAuODI4NDkgMTguNDA3MSAwLjY2OTk3OCAxOC41MDg1IDAuNTExNDY2IDE4LjYwMTVDMC40MDc5MDUgMTguNjYyOCAwLjI5NTg4OSAxOC43MTE0IDAuMTg4MTAxIDE4Ljc3MDZDMC4xMDM1NjEgMTguODE3MSAwIDE4Ljg5MzIgMCAxOS4wMDMxQzAgMTkuMTE1MSAwLjEwMzU2MSAxOS4xODcgMC4xODgxMDEgMTkuMjM3N0MwLjI5ODAwMyAxOS4yOTQ3IDAuNDA3OTA1IDE5LjM0NzYgMC41MTE0NjYgMTkuNDA2OEMwLjY2OTk3OCAxOS41MDE5IDAuODI4NDkgMTkuNTk0OSAwLjk3ODU0OCAxOS42OTQyQzEuNzA3NyAyMC4xODQ1IDIuMzc3NjggMjAuNzU5NCAzLjAwNTM5IDIxLjM3NDRDMy4zNjg5MSAyMS43MzU4IDMuNzE5NzUgMjIuMTE2MyA0LjA2MDAyIDIyLjUwM0M0LjI4NjE3IDIyLjc3MTQgNC41MTg2NSAyMy4wNTA0IDQuNzU5NTkgMjMuMzUyN0M0Ljc1OTU5IDIzLjM1MjcgNS41NTQyNiAyNC4zOTI1IDUuNTU0MjYgMjQuMzk2N0M1LjkzMjU4IDI0Ljg4NzEgNi4zMDAzMyAyNS4zMjY3IDYuNjU3NTEgMjUuNzI2MUM2Ljk2Mzk2IDI2LjExNzEgNy41ODUzMyAyNi43MzQyIDcuNTg1MzMgMjYuNzM0MkM4LjAxNjQ5IDI3LjE2NzUgOC40NDEzIDI3LjU1ODUgOC44NzY2OCAyNy45MDk0QzkuNTUzIDI4LjQ2MzEgMTAuMjUwNCAyOC45MzIzIDEwLjk1NjQgMjkuM0MxMS43MzQxIDI5LjcxMDEgMTIuNTQ3OCAzMC4wMjA3IDEzLjM4MjYgMzAuMjIxNUMxNC4yNzI0IDMwLjQzNSAxNS4yMjM1IDMwLjUyOCAxNi4yMTQ3IDMwLjUwNDdDMTcuMjc3OCAzMC40NzUxIDE4LjI3OTYgMzAuMzEwMyAxOS4xOTI2IDMwLjAwODFDMTkuOTIxOCAyOS43NjkyIDIwLjY1NzMgMjkuNDI0NyAyMS4zOTA3IDI4Ljk4M0MyMS4zNDIxIDI5LjMxNjkgMjEuMzE4OCAyOS42NDY2IDIxLjMxODggMjkuOTc0MkMyMS4zMTg4IDMwLjM4ODUgMjEuMzU5IDMwLjc5ODUgMjEuNDIyNCAzMS4yMDQzQzIxLjU1MTMgMzEuOTcxNSAyMS44MDQ5IDMyLjcwNyAyMi4xNzQ4IDMzLjM5ODFDMjIuNTI3NyAzNC4wNzAyIDIyLjk5NjkgMzQuNjg3MyAyMy41NTI4IDM1LjIzNjhDMjQuMTA2NSAzNS43OCAyNC43MzYzIDM2LjI0NSAyNS40NDIyIDM2LjYyMTJDMjYuMTQxOCAzNy4wMDc5IDI2LjkwOSAzNy4yOTc1IDI3LjcxNjQgMzcuNDg3N0MyOC41MzY0IDM3LjY3NTggMjkuMzk0NSAzNy43NjA0IDMwLjI4IDM3LjczNUMzMS4xODA0IDM3LjcwNTQgMzIuMDYxNyAzNy41NzAxIDMyLjg5ODcgMzcuMzIyOUMzMy42OTc2IDM3LjA5MjUgMzQuNDY0OCAzNi43NTIyIDM1LjE3NyAzNi4zMzM3QzM1Ljg1OTcgMzUuOTMwMSAzNi40ODc0IDM1LjQzOTcgMzcuMDU4IDM0Ljg3OTdDMzcuNjExOCAzNC4zMzg2IDM4LjEgMzMuNzI5OSAzOC41MTQyIDMzLjA3MDVDMzguOTI0MiAzMi40MjE3IDM5LjI1MTggMzEuNzI4NCAzOS40OTkxIDMxLjAwOThDMzkuNzQgMzAuMjkzNCAzOS45MDI4IDI5LjU1NTggMzkuOTY2MiAyOC44MTM5QzM5Ljk4OTQgMjguNTQ1NSA0MCAyOC4yNjY1IDQwIDI3Ljk5MzlDNDAgMjcuNDA2MyAzOS45NDUgMjYuODA0IDM5Ljg0NTcgMjYuMTg2OUMzOS42OTU3IDI1LjMwMTMgMzkuNDM5OSAyNC40NDk2IDM5LjA4OTEgMjMuNjU0OVYyMy42NTkxWiIgZmlsbD0iI0ZGQ0MwMCI+PC9wYXRoPiA8cGF0aCBkPSJNMzkuMDg5MSAyMy42NTkxQzM4Ljc0NjcgMjIuODkxOSAzOC4zMDUgMjIuMTgxOCAzNy43OTE0IDIxLjU0MzVDMzcuMjc5OSAyMC45MTU4IDM2LjY5ODcgMjAuMzY4NCAzNi4wNTgzIDE5LjkwOThDMzUuNzI4NiAxOS42NzA5IDM1LjM4MiAxOS40NjM4IDM1LjAyNDggMTkuMjhDMzQuODUxNSAxOS4xODcgMzQuNjU5MiAxOS4wOTE5IDM0LjQ2OSAxOS4wMDMxQzM0LjY1OTIgMTguOTEwMSAzNC44NTE1IDE4LjgxNzEgMzUuMDI0OCAxOC43MjQxQzM1LjM4MiAxOC41NDIzIDM1LjczMDcgMTguMzMzMSAzNi4wNTgzIDE4LjA5NjRDMzYuNzAwOCAxNy42Mzc4IDM3LjI3OTkgMTcuMDg2MSAzNy43OTE0IDE2LjQ1ODRDMzguMzA1IDE1LjgyMjMgMzguNzQ2NyAxNS4xMTIxIDM5LjA4OTEgMTQuMzQ0OUMzOS40NDIgMTMuNTQ2IDM5LjY5NzggMTIuNjk2NCAzOS44NDU3IDExLjgxMDlDMzkuOTQ1IDExLjE5MzcgNDAgMTAuNTkxNCA0MCAxMC4wMDhDNDAgOS43MjkwNyAzOS45ODk0IDkuNDUyMiAzOS45NjYyIDkuMTgzNzlDMzkuOTAyOCA4LjQ0NDA2IDM5Ljc0MjIgNy43MDQzNCAzOS40OTkxIDYuOTgxNTJDMzkuMjUxOCA2LjI2NzE2IDM4LjkyNDIgNS41NzgxNiAzOC41MTQyIDQuOTI1MDlDMzguMSA0LjI3MjAyIDM3LjYxMTggMy42NTkxMSAzNy4wNTggMy4xMTgwNUMzNi40ODc0IDIuNTU3OTggMzUuODU5NyAyLjA2NzY1IDM1LjE3NyAxLjY2Mzk3QzM0LjQ2NDggMS4yMzkxNiAzMy42OTc2IDAuOTA5NDUyIDMyLjg5ODcgMC42NzQ4NTRDMzIuMDYxNyAwLjQzMTgwMiAzMS4xODA0IDAuMjk0NDI1IDMwLjI4IDAuMjY0ODM2QzI5LjM5NjYgMC4yMzczNiAyOC41MzY0IDAuMzIxOSAyNy43MTY0IDAuNTEwMDAxQzI2LjkwOSAwLjY5ODEwMiAyNi4xNDE4IDAuOTg5NzY1IDI1LjQ0MjIgMS4zNzIzMUMyNC43MzQyIDEuNzUyNzQgMjQuMTA2NSAyLjIyNjE2IDIzLjU1MjggMi43NjUxQzIyLjk5NjkgMy4zMTQ2MSAyMi41MjU2IDMuOTMxNzUgMjIuMTc0OCA0LjYwMTczQzIxLjgwNDkgNS4yOTQ5NSAyMS41NTEzIDYuMDM0NjggMjEuNDIyNCA2Ljc5NzY1QzIxLjM1NjkgNy4yMDEzMyAyMS4zMTg4IDcuNjExMzQgMjEuMzE4OCA4LjAyNTU5QzIxLjMxODggOC4zNTUzIDIxLjM0MjEgOC42OTEzNCAyMS4zOTA3IDkuMDI1MjdDMjAuNjU3MyA4LjU4MzU1IDE5LjkyMTggOC4yMzI3MSAxOS4xOTI2IDcuOTkzODlDMTguMjc5NiA3LjY5MTY2IDE3LjI3NzggNy41MjY4IDE2LjIxNDcgNy40OTcyMkMxNS4yMjM1IDcuNDY3NjMgMTQuMjcyNCA3LjU2OTA3IDEzLjM4MjYgNy43ODY3NkMxMi41NDc4IDcuOTg1NDMgMTEuNzM0MSA4LjI5NCAxMC45NTY0IDguNzA0MDJDMTAuMjUwNCA5LjA3MTc3IDkuNTUwODggOS41NDUxOSA4Ljg3NjY4IDEwLjA5MjZDOC40NDEzIDEwLjQ0NzcgOC4wMTY0OSAxMC44MzY1IDcuNTg1MzMgMTEuMjc2MUM3LjU4NTMzIDExLjI3NjEgNi45NjM5NiAxMS44OTEyIDYuNjU3NTEgMTIuMjczN0M2LjMwMDMzIDEyLjY4MTYgNS45MzI1OCAxMy4xMjEyIDUuNTU0MjYgMTMuNjA5NEw0Ljc1OTU5IDE0LjY1MTRDNC41MTg2NSAxNC45NTE1IDQuMjg2MTcgMTUuMjMwNSA0LjA2MDAyIDE1LjQ5ODlDMy43MTk3NSAxNS44ODc4IDMuMzY2OCAxNi4yNjYxIDMuMDA1MzkgMTYuNjI3NUMyLjM3OTggMTcuMjQ0NyAxLjcwNzcgMTcuODE5NSAwLjk3ODU0OCAxOC4zMDU2QzAuODI4NDkgMTguNDA3MSAwLjY2OTk3OCAxOC41MDg1IDAuNTExNDY2IDE4LjYwMTVDMC40MDc5MDUgMTguNjYyOCAwLjI5NTg4OSAxOC43MTE0IDAuMTg4MTAxIDE4Ljc3MDZDMC4xMDM1NjEgMTguODE3MSAwIDE4Ljg5MzIgMCAxOS4wMDMxQzAgMTkuMTE1MSAwLjEwMzU2MSAxOS4xODcgMC4xODgxMDEgMTkuMjM3N0MwLjI5ODAwMyAxOS4yOTQ3IDAuNDA3OTA1IDE5LjM0NzYgMC41MTE0NjYgMTkuNDA2OEMwLjY2OTk3OCAxOS41MDE5IDAuODI4NDkgMTkuNTk0OSAwLjk3ODU0OCAxOS42OTQyQzEuNzA3NyAyMC4xODQ1IDIuMzc3NjggMjAuNzU5NCAzLjAwNTM5IDIxLjM3NDRDMy4zNjg5MSAyMS43MzU4IDMuNzE5NzUgMjIuMTE2MyA0LjA2MDAyIDIyLjUwM0M0LjI4NjE3IDIyLjc3MTQgNC41MTg2NSAyMy4wNTA0IDQuNzU5NTkgMjMuMzUyN0M0Ljc1OTU5IDIzLjM1MjcgNS41NTQyNiAyNC4zOTI1IDUuNTU0MjYgMjQuMzk2N0M1LjkzMjU4IDI0Ljg4NzEgNi4zMDAzMyAyNS4zMjY3IDYuNjU3NTEgMjUuNzI2MUM2Ljk2Mzk2IDI2LjExNzEgNy41ODUzMyAyNi43MzQyIDcuNTg1MzMgMjYuNzM0MkM4LjAxNjQ5IDI3LjE2NzUgOC40NDEzIDI3LjU1ODUgOC44NzY2OCAyNy45MDk0QzkuNTUzIDI4LjQ2MzEgMTAuMjUwNCAyOC45MzIzIDEwLjk1NjQgMjkuM0MxMS43MzQxIDI5LjcxMDEgMTIuNTQ3OCAzMC4wMjA3IDEzLjM4MjYgMzAuMjIxNUMxNC4yNzI0IDMwLjQzNSAxNS4yMjM1IDMwLjUyOCAxNi4yMTQ3IDMwLjUwNDdDMTcuMjc3OCAzMC40NzUxIDE4LjI3OTYgMzAuMzEwMyAxOS4xOTI2IDMwLjAwODFDMTkuOTIxOCAyOS43NjkyIDIwLjY1NzMgMjkuNDI0NyAyMS4zOTA3IDI4Ljk4M0MyMS4zNDIxIDI5LjMxNjkgMjEuMzE4OCAyOS42NDY2IDIxLjMxODggMjkuOTc0MkMyMS4zMTg4IDMwLjM4ODUgMjEuMzU5IDMwLjc5ODUgMjEuNDIyNCAzMS4yMDQzQzIxLjU1MTMgMzEuOTcxNSAyMS44MDQ5IDMyLjcwNyAyMi4xNzQ4IDMzLjM5ODFDMjIuNTI3NyAzNC4wNzAyIDIyLjk5NjkgMzQuNjg3MyAyMy41NTI4IDM1LjIzNjhDMjQuMTA2NSAzNS43OCAyNC43MzYzIDM2LjI0NSAyNS40NDIyIDM2LjYyMTJDMjYuMTQxOCAzNy4wMDc5IDI2LjkwOSAzNy4yOTc1IDI3LjcxNjQgMzcuNDg3N0MyOC41MzY0IDM3LjY3NTggMjkuMzk0NSAzNy43NjA0IDMwLjI4IDM3LjczNUMzMS4xODA0IDM3LjcwNTQgMzIuMDYxNyAzNy41NzAxIDMyLjg5ODcgMzcuMzIyOUMzMy42OTc2IDM3LjA5MjUgMzQuNDY0OCAzNi43NTIyIDM1LjE3NyAzNi4zMzM3QzM1Ljg1OTcgMzUuOTMwMSAzNi40ODc0IDM1LjQzOTcgMzcuMDU4IDM0Ljg3OTdDMzcuNjExOCAzNC4zMzg2IDM4LjEgMzMuNzI5OSAzOC41MTQyIDMzLjA3MDVDMzguOTI0MiAzMi40MjE3IDM5LjI1MTggMzEuNzI4NCAzOS40OTkxIDMxLjAwOThDMzkuNzQgMzAuMjkzNCAzOS45MDI4IDI5LjU1NTggMzkuOTY2MiAyOC44MTM5QzM5Ljk4OTQgMjguNTQ1NSA0MCAyOC4yNjY1IDQwIDI3Ljk5MzlDNDAgMjcuNDA2MyAzOS45NDUgMjYuODA0IDM5Ljg0NTcgMjYuMTg2OUMzOS42OTU3IDI1LjMwMTMgMzkuNDM5OSAyNC40NDk2IDM5LjA4OTEgMjMuNjU0OVYyMy42NTkxWiIgZmlsbD0iI0ZGQ0MwMCI+PC9wYXRoPiA8cGF0aCBkPSJNMzYuOTA5OSAyNC41MDY1QzM2LjYwMTMgMjMuODIxOCAzNi4xOTM0IDIzLjE5MiAzNS42OTQ2IDIyLjYzMTlDMzUuMjAyMiAyMi4wNzYgMzQuNjM3OSAyMS41OTQxIDM0LjAwMTcgMjEuMjA5NUMzMy4zNjU2IDIwLjgxMjIgMzIuNjcwMiAyMC41MDc4IDMxLjk0OTUgMjAuMzAyOEMzMS4yMDc3IDIwLjA5MzYgMzAuNDM0MiAxOS45ODc5IDI5LjY1NDMgMTkuOTg3OUMyOC44MyAxOS45ODc5IDI3Ljk5MzEgMjAuMDY4MiAyNy4xODc4IDIwLjI2MDVDMjYuNTExNSAyMC40MjEyIDI1Ljg2MjcgMjAuNjU3OSAyNS4yNDc2IDIwLjk2MjJDMjQuNjkzOSAyMS4yNDEyIDI0LjE3MTkgMjEuNTY4OCAyMy42NzUyIDIxLjkyMzlDMjMuMTk5NyAyMi4yNTc4IDIyLjc1NzkgMjIuNjE1IDIyLjMwNTcgMjIuOTY3OUMyMS44Nzg3IDIzLjMwODIgMjEuNDQ1NSAyMy42Mzc5IDIwLjk4NjggMjMuOTMxN0MyMC41MzI0IDI0LjIyMzMgMjAuMDU5IDI0LjQ2NjQgMTkuNTUxOCAyNC42Mzc2QzE5LjAwODYgMjQuODI1NyAxOC40Mjc0IDI0LjkxNDQgMTcuODQ2MiAyNC45MjA4QzE3LjA1MTUgMjQuOTIwOCAxNi4yNjExIDI0Ljc2MDIgMTUuNTI5OCAyNC40NDk1QzE0LjgyNiAyNC4xNDk0IDE0LjE3NzIgMjMuNzA1NSAxMy42NDQ2IDIzLjE1ODFDMTMuMTA1NiAyMi42MDg2IDEyLjY4MDggMjEuOTUxMyAxMi4zOTM0IDIxLjI0MTJDMTIuMTE0NCAyMC41MjQ3IDExLjk4MzMgMTkuNzY4MSAxMS45ODMzIDE5LjAwMDlDMTEuOTgzMyAxOC4yMzM3IDEyLjExNDQgMTcuNDc0OSAxMi4zOTM0IDE2Ljc2MjdDMTIuNjgwOCAxNi4wNTA0IDEzLjEwNTYgMTUuMzkzMiAxMy42NDQ2IDE0Ljg0NzlDMTQuMTc3MiAxNC4yOTYyIDE0LjgyMzkgMTMuODUyNCAxNS41Mjk4IDEzLjU1MjNDMTYuMjYxMSAxMy4yNDE2IDE3LjA1MTUgMTMuMDgxIDE3Ljg0NjIgMTMuMDg1MkMxOC40MjUzIDEzLjA4NTIgMTkuMDA2NSAxMy4xNzYxIDE5LjU1MTggMTMuMzU3OUMyMC4wNjExIDEzLjUzMzMgMjAuNTM0NSAxMy43Nzg0IDIwLjk4NjggMTQuMDY4QzIxLjQ0MzMgMTQuMzU5NyAyMS44NzY2IDE0LjY5MTUgMjIuMzA1NyAxNS4wMjk2QzIyLjc2MDEgMTUuMzgwNSAyMy4xOTk3IDE1LjczNzcgMjMuNjc1MiAxNi4wNzU4QzI0LjE3MTkgMTYuNDMwOSAyNC42OTM5IDE2Ljc2MDYgMjUuMjQ3NiAxNy4wMzUzQzI1Ljg2MjcgMTcuMzQxOCAyNi41MTE1IDE3LjU3ODUgMjcuMTg3OCAxNy43MzdDMjcuOTk1MiAxNy45MjkzIDI4LjgzIDE4LjAwNzUgMjkuNjU0MyAxOC4wMDc1QzMwLjQzNDIgMTguMDA3NSAzMS4yMDc3IDE3LjkwNjEgMzEuOTQ5NSAxNy42OTI2QzMyLjY3MDIgMTcuNDkxOSAzMy4zNjU2IDE3LjE4MzMgMzQuMDAxNyAxNi43ODgxQzM0LjYzNzkgMTYuNDAzNCAzNS4yMDIyIDE1LjkyMTUgMzUuNjk0NiAxNS4zNjc4QzM2LjE5MzQgMTQuODA5OCAzNi42MDEzIDE0LjE3NTggMzYuOTA5OSAxMy40OTMxQzM3LjIzNTQgMTIuNzc4OCAzNy40NDA0IDEyLjAxMzcgMzcuNTM1NSAxMS4yMzM4QzM3LjYzMjcgMTAuMzk2OSAzNy42MDUyIDkuNTQ1MTEgMzcuNDUxIDguNzI1MDhDMzcuMzAzIDcuOTQzMDggMzcuMDQzMSA3LjE5MDY4IDM2LjY2OSA2LjQ5NzQ1QzM2LjMwNTQgNS44Mjk1OSAzNS44NDI2IDUuMjIwOSAzNS4zMDM2IDQuNjkwNDFDMzQuNzY2OCA0LjE2ODM4IDM0LjE2MDIgMy43MzA4OSAzMy40OTQ1IDMuMzgyMTZDMzIuODI0NSAzLjAyOTIxIDMyLjExMDIgMi43Nzk4MSAzMS4zNzI1IDIuNjMzOThDMzAuNjA5NiAyLjQ4MzkyIDI5LjgxNyAyLjQ0MTY1IDI5LjAzMjkgMi41MzA0MkMyOC4yNjc4IDIuNjE5MTkgMjcuNTE1NCAyLjg0MTEgMjYuODMwNiAzLjE4OTgzQzI2LjE3MzMgMy41MjM3NiAyNS41ODE2IDMuOTc2MDUgMjUuMDc4NiA0LjUwODY1QzI0LjU4NjEgNS4wNDEyNSAyNC4xODI0IDUuNjUyMDUgMjMuODk5MiA2LjMxNzhDMjMuNjA5NyA2Ljk5NjI0IDIzLjQzNjQgNy43MjExNyAyMy4zOTIgOC40NTY2NkMyMy4zNDc2IDkuMjMyMzIgMjMuNDQ2OSAxMC4wMDggMjMuNjc1MiAxMC43NDc3QzIzLjY5ODQgMTAuODQ3IDIzLjczNDQgMTAuOTQ2NCAyMy43NjQgMTEuMDQxNUMyMy43ODUxIDExLjA4OCAyMy44MDIgMTEuMTM0NSAyMy44MTg5IDExLjE4MzFDMjMuODM3OSAxMS4yMjc1IDIzLjg1NDggMTEuMjkwOSAyMy44ODIzIDExLjMzMzFDMjMuOTAzNSAxMS4zNjA2IDIzLjkzNzMgMTEuNDAwOCAyMy45NzUzIDExLjM5MjNDMjQuMDE1NSAxMS4zODgxIDI0LjAzNjYgMTEuMzM3NCAyNC4wNDcyIDExLjI5NTFDMjQuMDY0MSAxMS4xOTE1IDI0LjA2NDEgMTEuMDgzNyAyNC4wNzQ3IDEwLjk3NTlDMjQuMTE5IDEwLjU4MDcgMjQuMjE0MSAxMC4xOTQgMjQuMzc2OSA5LjgyODMyQzI0LjY1MTYgOS4xNjQ2OCAyNS4xMjA4IDguNTg1NTkgMjUuNzIxMSA4LjE5MDM2QzI2LjMzNCA3Ljc4MDM0IDI3LjA1ODkgNy41Njg5OSAyNy43OTAyIDcuNTIwMzhDMjguNTcwMSA3LjQ3Mzg5IDI5LjM3MTEgNy42MDQ5MiAzMC4wNzQ5IDcuOTY2MzNDMzAuNjk4MyA4LjI5MTgxIDMxLjIyNDYgOC44MDExNiAzMS41NzEyIDkuNDE4M0MzMS45MzQ3IDEwLjA2MjkgMzIuMDk1NCAxMC44MDkgMzIuMDg2OSAxMS41NDI0QzMyLjA4NjkgMTIuMzAzMiAzMS44NzEzIDEzLjA0OTMgMzEuNDc0IDEzLjY5MzlDMzEuMDc4OCAxNC4zNDcgMzAuNTA2IDE0Ljg3NzUgMjkuODI1NSAxNS4yMDkzQzI5LjE0NyAxNS41NDMyIDI4LjM4NjIgMTUuNjcgMjcuNjM4IDE1LjU5MThDMjcuMTExNyAxNS41NDExIDI2LjYwNjYgMTUuMzkzMiAyNi4xMzk1IDE1LjE2OTFDMjUuNjQ1IDE0LjkzMjQgMjUuMTk0OCAxNC42MzY1IDI0Ljc2MzYgMTQuMzExQzI0LjMwMDggMTMuOTYyMyAyMy44NjEyIDEzLjU3OTggMjMuNDE5NSAxMy4yMDU3QzIyLjk0NiAxMi44MDQxIDIyLjQ4MTEgMTIuNDA4OSAyMS45OTI5IDEyLjAyODVDMjEuNDg1NiAxMS42Mzc1IDIwLjk0ODggMTEuMjcxOCAyMC4zODAzIDEwLjk1OUMxOS43OCAxMC42MjkzIDE5LjE0MTggMTAuMzYwOSAxOC40NzgxIDEwLjE3MjhDMTcuNzIzNiA5Ljk2NTcgMTYuOTQ3OSA5Ljg2MDAyIDE2LjE3MDIgOS44NDczNEMxNS4zNzc2IDkuODM4ODkgMTQuNTg1MSA5LjkxNDk3IDEzLjgxMTUgMTAuMDkyNUMxMy4xNDc5IDEwLjI1MSAxMi41MDc1IDEwLjQ4NTYgMTEuOTA1MSAxMC43OTg0QzExLjMzODcgMTEuMDk2NCAxMC44MjA5IDExLjQ1MzYgMTAuMzM2OSAxMS44NTk0QzkuODYzNTEgMTIuMjYxIDkuNDMyMzYgMTIuNzAyNyA5LjAyMjM0IDEzLjE2NTVDOC42MTIzMyAxMy42MjQyIDguMjIxMzMgMTQuMTEwMyA3Ljg0NzI0IDE0LjU5NDNDNy40NjQ3IDE1LjA3NjEgNy4wOTA2MSAxNS41NjY1IDYuNzAxNzMgMTYuMDQyQzYuMzIxMyAxNi41MTEyIDUuOTE5NzMgMTYuOTYzNSA1LjQ5MDY5IDE3LjM5MjVDNS4wNjggMTcuODEzMSA0LjYwNzI1IDE4LjIwNDEgNC4xMTI3IDE4LjUzOEM0LjAwOTEzIDE4LjYwMzYgMy45MDc2OSAxOC42NjkxIDMuODAyMDEgMTguNzMwNEMzLjcyNTkzIDE4Ljc3MjYgMy42NTE5NSAxOC44MTA3IDMuNTgyMjEgMTguODQ4N0MzLjUyMzAzIDE4Ljg4MjUgMy40NTExNyAxOC45MjkgMy40NTExNyAxOS4wMDUxQzMuNDUxMTcgMTkuMDc5MSAzLjUyMzAzIDE5LjEyNzcgMy41ODIyMSAxOS4xNTk0QzMuNjUxOTUgMTkuMTk5NiAzLjcyNTkzIDE5LjIzMzQgMy44MDIwMSAxOS4yNzU2QzMuOTA5OCAxOS4zMzkxIDQuMDExMjUgMTkuNDA2NyA0LjExMjcgMTkuNDcyMkM0LjYwNzI1IDE5LjgwMTkgNS4wNjggMjAuMTkyOSA1LjQ5MDY5IDIwLjYxMzVDNS45MTc2MiAyMS4wNDA0IDYuMzIxMyAyMS40OTI3IDYuNzAxNzMgMjEuOTY0QzcuMDkwNjEgMjIuNDQxNyA3LjQ2NDcgMjIuOTI3OCA3Ljg0NzI0IDIzLjQwNzVDOC4yMjEzMyAyMy44OTU3IDguNjEyMzMgMjQuMzc3NiA5LjAyMjM0IDI0Ljg0MDVDOS40MzIzNiAyNS4yOTkxIDkuODYzNTEgMjUuNzQyOSAxMC4zMzY5IDI2LjE0NDVDMTAuODIwOSAyNi41NDgyIDExLjMzODcgMjYuOTExNyAxMS45MDUxIDI3LjIwMTNDMTIuNTA3NSAyNy41MTYyIDEzLjE0NzkgMjcuNzU3MSAxMy44MTE1IDI3LjkwNzJDMTQuNTg1MSAyOC4wOTEgMTUuMzc3NiAyOC4xNjI5IDE2LjE3MDIgMjguMTU0NEMxNi45NDc5IDI4LjE0NiAxNy43MjM2IDI4LjA0MjQgMTguNDc4MSAyNy44MjlDMTkuMTQxOCAyNy42NDcyIDE5Ljc4IDI3LjM3ODggMjAuMzgwMyAyNy4wNDA2QzIwLjk0ODggMjYuNzMyMSAyMS40ODU2IDI2LjM2NDMgMjEuOTkyOSAyNS45NzMzQzIyLjQ4MTEgMjUuNTk3MSAyMi45NDYgMjUuMTk1NSAyMy40MTk1IDI0Ljc5NjFDMjMuODYxMiAyNC40MjIgMjQuMzAyOSAyNC4wNDM3IDI0Ljc2MzYgMjMuNjg4NkMyNS4xOTQ4IDIzLjM2OTUgMjUuNjQ1IDIzLjA2NzMgMjYuMTM5NSAyMi44MzY5QzI2LjYwNjYgMjIuNjEwNyAyNy4xMTM5IDIyLjQ1ODYgMjcuNjM4IDIyLjQwNzhDMjguMzg2MiAyMi4zMzYgMjkuMTQ3IDIyLjQ2NyAyOS44MjU1IDIyLjc5NDZDMzAuNTAzOSAyMy4xMjIyIDMxLjA3ODggMjMuNjU5IDMxLjQ3NCAyNC4zMDU4QzMxLjg2OTIgMjQuOTUwNCAzMi4wODQ4IDI1LjY5ODYgMzIuMDg2OSAyNi40NTk0QzMyLjA5NTQgMjcuMTk3IDMxLjkzMjYgMjcuOTM2NyAzMS41NzEyIDI4LjU3OTNDMzEuMjI0NiAyOS4xOTg1IDMwLjY5ODMgMjkuNzA3OSAzMC4wNzQ5IDMwLjAzNzZDMjkuMzcxMSAzMC4zOTQ3IDI4LjU3MDEgMzAuNTI3OSAyNy43OTAyIDMwLjQ3OTNDMjcuMDU4OSAzMC40MzI4IDI2LjMzNjEgMzAuMjIxNCAyNS43MjExIDI5LjgxNTZDMjUuMTIwOCAyOS40MTQxIDI0LjY1MTYgMjguODM5MiAyNC4zNzY5IDI4LjE3MTNDMjQuMjE0MSAyNy44MDU3IDI0LjExOSAyNy40MTg5IDI0LjA3NDcgMjcuMDI3OUMyNC4wNjYyIDI2LjkxMzggMjQuMDY2MiAyNi44MDYgMjQuMDQ3MiAyNi42OTgyQzI0LjAzNjYgMjYuNjYwMiAyNC4wMTU1IDI2LjYxMTYgMjMuOTc1MyAyNi42MDMxQzIzLjkzNzMgMjYuNjAxIDIzLjkwMzUgMjYuNjM2OSAyMy44ODIzIDI2LjY2NDRDMjMuODU3IDI2LjcxMDkgMjMuODM3OSAyNi43NjggMjMuODE4OSAyNi44MTg3QzIzLjgwMiAyNi44NjEgMjMuNzg1MSAyNi45MDk2IDIzLjc2NCAyNi45NTYxQzIzLjczNDQgMjcuMDU1NCAyMy42OTg0IDI3LjE0ODQgMjMuNjc1MiAyNy4yNDk5QzIzLjQ0NjkgMjcuOTg3NSAyMy4zNDc2IDI4Ljc3MTYgMjMuMzkyIDI5LjU0NTFDMjMuNDM2NCAzMC4yNzY0IDIzLjYwOTcgMzEuMDAxMyAyMy44OTkyIDMxLjY3OTdDMjQuMTg0NiAzMi4zNDM0IDI0LjU4NjEgMzIuOTU2MyAyNS4wNzg2IDMzLjQ4NjhDMjUuNTgzNyAzNC4wMjM2IDI2LjE3MzMgMzQuNDcxNyAyNi44MzA2IDM0LjgwNTZDMjcuNTE1NCAzNS4xNTY0IDI4LjI2NzggMzUuMzc0MSAyOS4wMzI5IDM1LjQ2OTJDMjkuODE3IDM1LjU2MDEgMzAuNjA5NiAzNS41MTc5IDMxLjM3MjUgMzUuMzYxNUMzMi4xMTAyIDM1LjIyMiAzMi44MjQ1IDM0Ljk2NjIgMzMuNDk0NSAzNC42MTc1QzM0LjE1ODEgMzQuMjY4OCAzNC43NjY4IDMzLjgyNzEgMzUuMzAzNiAzMy4zMDA4QzM1Ljg0MjYgMzIuNzcwMyAzNi4zMDU0IDMyLjE2MTYgMzYuNjY5IDMxLjQ5MzhDMzcuMDQzMSAzMC44MDQ4IDM3LjMwMyAzMC4wNTAyIDM3LjQ1MSAyOS4yNzI1QzM3LjYwNzQgMjguNDQ4MiAzNy42MzI3IDI3LjU5MjIgMzcuNTM1NSAyNi43NjM4QzM3LjQzODMgMjUuOTgzOSAzNy4yMzU0IDI1LjIxNjcgMzYuOTA5OSAyNC41MDIzVjI0LjUwNjVaIiBmaWxsPSIjMzMwMDY2Ij48L3BhdGg+IDxwYXRoIGQ9Ik0yNS43Njc1IDE5LjAwMTRDMjUuNzY3NSAxOC45NzM5IDI1Ljc0NDMgMTguOTQ4NiAyNS43MTY4IDE4LjkzOEMyNC43ODY5IDE4LjcxNCAyMy45NTYzIDE4LjE5NjIgMjMuMTk3NSAxNy42NDI0QzIyLjM3OTYgMTcuMDU5MSAyMS42MTY2IDE2LjQxMDMgMjAuNzkyNCAxNS44NDZDMTkuOTcwMiAxNS4yODggMTkuMDUyOSAxNC44MDgyIDE4LjA0NDggMTQuNzQyN0MxNy4yNTY1IDE0LjY5MiAxNi40NDcgMTQuODczOCAxNS43NTggMTUuMjU4NEMxNS4xMDkyIDE1LjYxNTYgMTQuNTc2NiAxNi4xNDE4IDE0LjIwNjcgMTYuNzg0NEMxMy44MjYzIDE3LjQ1MDEgMTMuNjM4MiAxOC4yMTk0IDEzLjYzMTggMTguOTg2NkMxMy42MzE4IDE4Ljk5MDggMTMuNjM4MiAxOC45OTUxIDEzLjYzODIgMTkuMDAxNEMxMy42MzgyIDE5LjAwNTYgMTMuNjMxOCAxOS4wMDc3IDEzLjYzMTggMTkuMDE2MkMxMy42MzgyIDE5Ljc4MTMgMTMuODI0MiAyMC41NTA2IDE0LjIwNjcgMjEuMjI0OEMxNC41Nzg3IDIxLjg2MSAxNS4xMDkyIDIyLjM5MTUgMTUuNzU4IDIyLjc0NDRDMTYuNDQ3IDIzLjEyOTEgMTcuMjU2NSAyMy4zMDQ1IDE4LjA0NDggMjMuMjU4QzE5LjA1MjkgMjMuMTk2NyAxOS45NzAyIDIyLjcxMjcgMjAuNzkyNCAyMi4xNTQ3QzIxLjYxODcgMjEuNTkyNiAyMi4zNzk2IDIwLjkzOTUgMjMuMTk3NSAyMC4zNTYyQzIzLjk1NjMgMTkuODA2NiAyNC43ODY5IDE5LjI5MzEgMjUuNzE2OCAxOS4wNjQ4QzI1Ljc0MjIgMTkuMDU0MiAyNS43Njc1IDE5LjAzMzEgMjUuNzY3NSAxOC45OTkzVjE5LjAwMTRaIiBmaWxsPSIjQ0MwMDk5Ij48L3BhdGg+IDwvc3ZnPjxzdmcgeD0iNDgiIHk9IjYiIHdpZHRoPSI4MiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDgyIDM2Ij4gPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01NS41MjU3IDE5LjA5MzNMNTguODUwNSAxMS4yNjI2TDYxLjk3NjIgMTkuMDkzM0g1NS41MjU3Wk02My42MTQ0IDI4LjcwOEg3Mi4zNDc0QzcwLjYxMDUgMjcuNjY3MiA3MC4wNjQ5IDI2LjY3NiA2OC45NzMyIDI0LjE0ODRDNjIuOTY5NSAxMC4yMjE4IDYwLjgzNTUgNS4zNjQ3NSA2MC44MzU1IDUuMzY0NzVDNjAuODM1NSA1LjM2NDc1IDU5LjQ5NTYgNy41OTUwMiA1NS4xNzg0IDguNDM3NTdDNTUuNDc2MSA4LjYzNTgxIDU1LjgyMzUgOS4xODA5OSA1NS44MjM1IDkuNzc1NzNDNTUuODIzNSAxMC4xNzIyIDU1LjcyNDIgMTAuNjY3OCA1NS40NzYxIDExLjMxMjFMNDkuNzY5NCAyNC4xNDg0QzQ4LjUyODggMjYuODI0NyA0Ny44MzQxIDI4LjAxNDIgNDYuMTQ2OSAyOC41NTkyQzQ0LjgwNzEgMjcuODE1NyA0NC41NTg5IDI3LjA3MjUgNDQuNTU4OSAyNC4zOTZWMTEuMTYzNUM0NC41NTg5IDguMzg4NzkgNDQuODA3MSA3LjY5NDE0IDQ2LjI0NjEgNi45MDExNkgzOC40NTUyQzM5Ljg0NDcgNy42OTQxNCA0MC4xNDI0IDguMzg4NTkgNDAuMTQyNCAxMS4xNjM1VjE1LjY3MzVIMjkuMjc1N1YxMS4xNjM1QzI5LjI3NTcgOC4zODg3OSAyOS41NzM0IDcuNjk0MTQgMzEuMDEyNSA2LjkwMTE2SDIzLjE3MkMyNC42NjA3IDcuNjk0MTQgMjQuOTA4OCA4LjM4ODU5IDI0LjkwODggMTEuMTYzNVYyNC4zOTZDMjQuOTA4OCAyNy4xNzE0IDI0LjY2MDcgMjcuODY1NSAyMy4xNzIgMjguNzA4SDMxLjAxMjVDMjkuNTczNCAyNy44NjU1IDI5LjI3NTcgMjcuMTcxNCAyOS4yNzU3IDI0LjM5NlYxOC43NDY2SDQwLjE0MjRWMjQuMzk2QzQwLjE0MjQgMjcuMTcxNCAzOS44NDQ3IDI3Ljg2NTUgMzguNDA2NCAyOC43MDhINTMuODM4NUM1My4wOTQyIDI4LjI2MTggNTIuNDk4NyAyNy42MTc3IDUyLjQ5ODcgMjYuNzc1MUM1Mi40OTg3IDI2LjE4MDQgNTIuNjk3MiAyNS43ODM5IDUzLjE5MzQgMjQuNjkzNEw1NC40MzQgMjEuNzIwMUg2My4wNjc5TDY0LjM1ODcgMjUuMDQwNUM2NC43NTUxIDI1Ljg4MyA2NC45MDM4IDI2LjI3OTUgNjQuOTAzOCAyNi44MjQ3QzY0LjkwMzggMjcuNjE3NyA2NC4yMDk5IDI4LjI2MTggNjMuNjE0NCAyOC43MDhaTTc4LjUwMDkgMjQuMzk2MlYxMS4xNjMzQzc4LjUwMDkgOC4zODg1OSA3OC43NDkgNy42OTM5NSA4MC4xMzg1IDYuOTAwOTZINzIuMzk3MkM3My43ODY2IDcuNjkzOTUgNzQuMDg0NCA4LjM4ODQgNzQuMDg0NCAxMS4xNjMzVjI0LjM5NThDNzQuMDg0NCAyNy4xNzEyIDczLjc4NjYgMjcuODY1MyA3Mi4zOTcyIDI4LjcwNzhIODAuMTM4NUM3OC43NDkgMjcuODY1MyA3OC41MDA5IDI3LjE3MTYgNzguNTAwOSAyNC4zOTYyWk0yMi40NzcyIDUuMzY0NzVDMjEuNjgzMyA2LjA1ODYxIDIwLjM5MyA2LjkwMTE2IDE2Ljk2OTIgNi45MDExNkg3LjE5MzU2QzUuMjU4MjQgNi45MDExNiA0LjQ2NDI3IDUuNzYxMjQgNC4xMTY3IDUuMDY3MzhDMy4zNzI1NSA2Ljc1MjQ3IDEuNDg3MDUgOS4xMzE0MyAwLjM0NTcwMyAxMC4wNzMxSDkuNDc2MjRWMjQuMDk4NkM5LjQ3NjI0IDI2LjkyNCA5LjA3OTA2IDI3LjgxNTcgNy43Mzk0MiAyOC43MDhIMTUuNTMwMUMxNC4xNDA1IDI3Ljg2NTUgMTMuODkyNSAyNy4xNzE0IDEzLjg5MjUgMjQuMzk2VjEwLjA3MzFIMTUuMTgyOEMxNy4xMTc5IDEwLjA3MzEgMTguMTYwMiA5Ljg3NDg1IDE4Ljk1NCA5LjU3NzQ4QzIxLjAzODEgOC44MzQwNiAyMi4zMjg0IDcuMjk3NjUgMjIuNDc3MiA1LjM2NDc1WiIgZmlsbD0iIzM2MUQ2NiI+PC9wYXRoPiA8L3N2Zz48L3N2Zz4="); }
.sale-year-map__route-airline.logo-key-503caaa417 .sale-year-map__route-airline-asset { background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9ImN1cnJlbnRDb2xvciIgdmlld0JveD0iMCAwIDMwNiA0OCIgd2lkdGg9IjIxOCIgaGVpZ2h0PSI0MCIgY2xhc3M9ImhtX19IZWFkZXJfdGtMb2dvX196S0dCViIgYXJpYS1oaWRkZW49InRydWUiIGFyaWEtbGFiZWw9IlR1cmtpc2ggQWlybGluZXMiPjxnIGNsaXAtcGF0aD0idXJsKCN0ay1icmFuZC10ZXh0X3N2Z19fYSkiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yNi41MjQuMTI4YzEyLjA3IDEuMjU2IDIxLjUwMiAxMS40NTYgMjEuNTAyIDIzLjg2QzQ4LjAyNiAzNy4yMzYgMzcuMjg4IDQ4IDI0LjAzOCA0OFMwIDM3LjI2MiAwIDI0LjAxM0MwIDEwLjc2MyAxMC43MzggMCAyMy45ODcgMGMuODQ2IDAgMS42OTIuMDUxIDIuNTEyLjEyOHptMS4yMyA0Ni4yMDZjMTIuMzI3LTIuMDc2IDIwLjY1Ni0xMy43MzYgMTguNTgtMjYuMDg4QzQ0LjYxNyA5Ljk5NSAzNi4yMzcgMi41MSAyNi4zNyAxLjQ2YTIyLjQgMjIuNCAwIDAgMC02LjEyNC4yMDUgMjIgMjIgMCAwIDAtNi44NDMgMi4zMzJjMTAuODY2IDMuNjkgMTYuNzEgOS4zMDMgMTcuMTIgMTUuMDQzLjIwNCAzLjUzNy0xLjQ2MiA2LjEtMy42MTQgOC4ybDE1LjM3Ni0xLjA3NWMuNDM2LS4wMjYuNTY0LjQ4Ni4wNTEuNjE1TDUuNjY0IDM3LjI4OGMzLjc0MSA1LjE1IDkuNTMzIDguNTYgMTUuOTY2IDkuMjI2YTIyLjQgMjIuNCAwIDAgMCA2LjEyNC0uMjA1ek0xNy42NTcgMjQuNTI1YzItNy41Ni0uMjgyLTE1LjQ3OS01Ljc2Ni0xOS42NTZBMjIuNjggMjIuNjggMCAwIDAgMS42NjYgMjcuNzU0YTIyLjYgMjIuNiAwIDAgMCAzLjE3OCA4LjM1NWM1Ljg0My0xLjYxNSAxMC45NjgtNC43MTYgMTIuODEzLTExLjU4NCI+PC9wYXRoPjxwYXRoIGZpbGw9IiNDOTAwMTkiIGQ9Ik00Ni4zMzQgMjAuMjQ1YzIuMDc2IDEyLjMyNy02LjI1MyAyNC4wMTMtMTguNTggMjYuMDg5LTIuMDc1LjM1OS00LjEyNi40MS02LjEyNC4yMDUtNi40MzMtLjY2Ni0xMi4yMjUtNC4xLTE1Ljk2Ni05LjIyNmwzNi42NzItMTAuNTA3Yy41MzktLjE1NC4zODUtLjY2Ni0uMDUtLjYxNWwtMTUuMzc3IDEuMDc2YzIuMTc4LTIuMTAxIDMuODE4LTQuNjY0IDMuNjEzLTguMi0uNDEtNS43NDEtNi4yNTMtMTEuMzUzLTE3LjExOS0xNS4wNDRhMjMuNSAyMy41IDAgMCAxIDYuODQzLTIuMzMyIDIyLjQgMjIuNCAwIDAgMSA2LjEyNS0uMjA1YzkuODY2IDEuMDI1IDE4LjIyIDguNTA4IDE5Ljk2MyAxOC43ODV6bS00NC42NjggNy41MWEyMi42IDIyLjYgMCAwIDAgMy4xNzggOC4zNTRjNS44NDMtMS42MTUgMTAuOTY4LTQuNzE2IDEyLjgxMy0xMS41ODQgMi03LjU2LS4yODItMTUuNDc5LTUuNzY2LTE5LjY1NkEyMi42OCAyMi42OCAwIDAgMCAxLjY2NiAyNy43NTQiPjwvcGF0aD48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNDMuOTIzIDI5LjAxdjMuNjEzYzEuNDYxLjYxNSAzLjM1NyAxLjA1MSA1Ljc2NiAxLjA1MSAzLjg5NSAwIDYuODE3LTEuOTk5IDYuODE3LTUuNjY0IDAtMy42MS0yLjExMS00LjU0OS00LjI3NS01LjUxMS0uMzcxLS4xNjUtLjc0My0uMzMxLTEuMTA3LS41MTFsLS4wNzYtLjAyOWMtMS44NzQtLjY5OS0yLjkyMi0xLjA5LTIuOTIyLTIuMzU0IDAtMS4yMDUuODk3LTEuODk3IDIuNzkzLTEuODk3IDEuNzQzIDAgMy41MTEuNTM4IDQuNDg1IDF2LTMuNTExYTE0LjQgMTQuNCAwIDAgMC00Ljc5Mi0uODQ2Yy0zLjg3IDAtNi42NjQgMS43MTctNi42NjQgNS4zODIgMCAzLjE1MiAxLjg3MSA0LjUxIDMuODQ0IDUuMzgyLjU1MS4yMzQgMS4wNS40MyAxLjQ5NS42MDUgMS44OTYuNzQ2IDIuODM3IDEuMTE2IDIuODM3IDIuNDQ0IDAgMS40MS0xLjA3NyAyLjEyNy0zLjIwNCAyLjEyNy0xLjg0NSAwLTMuNjEzLS42NC00Ljk5Ny0xLjI4MU03OC43MjcgMTQuNjA3VjI2LjM3YzAgMS4zMDcuMTggMi40MzUuNTY0IDMuMzMycy45MjIgMS42NjYgMS42MTQgMi4yNTVhNi42IDYuNiAwIDAgMCAyLjUzNyAxLjI4MmMuOTc0LjI4MSAyLjEwMi40MSAzLjMwNi40MXMyLjMwNy0uMTI5IDMuMjgtLjQxYy45NDktLjI1NyAxLjc2OS0uNjkyIDIuNDEtMS4yODIuNjQtLjU5IDEuMTUzLTEuMzMyIDEuNTEyLTIuMjU1LjM1OC0uOTIzLjUzOC0yLjA1LjUzOC0zLjM1N1YxNC41ODJoLTQuMDc1djExLjYzNWMwIDEuMTc4LS4yODIgMi4xNTItLjg3MSAyLjg0NC0uNTkuNzE4LTEuNTM4IDEuMDc3LTIuNzk0IDEuMDc3LTEuMjU1IDAtMi4xNzgtLjM2LTIuNzkzLTEuMDc3LS41OS0uNjkyLS44OTctMS42NjYtLjg5Ny0yLjg0NFYxNC41ODJoLTQuMzU3em05My42MTcgMTguODF2LTcuODkzaC03LjkxOXY3Ljg5NGgtNC4zMzF2LTE4LjgxaDQuMzMxdjcuNTA4aDcuOTE5di03LjUwOWg0LjM4MnYxOC44MXpNNjYuMTk1IDE4LjExOXYxNS4zaDQuMzU3di0xNS4zaDMuMzA2YzEgMCAxLjgyLS44MiAxLjgyLTEuODJ2LTEuNjlINjEuMDk1djMuNTF6bTc0LjE2Ni0zLjUxaC00LjM1N3YxOC44MWg0LjM1N3ptLTE4Ljc4NSAxMC4wNzUuMTI4LjE1IDUuNTYxIDcuMTVhMy42NSAzLjY1IDAgMCAwIDIuOTIyIDEuNDM1aDMuNDU5bC03Ljk0NC0xMC4xMjMtLjEyOC0uMTU0LjEyOC0uMTUzIDYuNTM1LTguNDA2aC00LjUxMWwtNS45OTYgOC4wOTgtLjE1NC4yMDV2LTguMzAzaC00LjM1N3YxOC44MWg0LjM1N3ptLTEwLjA0NiA4LjczNWEzLjc1IDMuNzUgMCAwIDEtMy4xNzgtMS43OTRsLTMuMzgzLTUuNTg3aC0yLjE1MnY3LjM1NWgtNC4zMzFWMTQuNjA3aDcuNzM5YzEuOTk5IDAgMy41MzcuNTEzIDQuNjM5IDEuNTM4cTEuNjE0IDEuNTM4IDEuNjE0IDQuMTUxYzAgLjg3Mi0uMjMgMS43NjktLjY5MiAyLjY2Ni0uNDYxLjg3LTEuMjU2IDEuNTYzLTIuNDA5IDIuMTAxbC0uMjU2LjEyOCA1LjI3OSA4LjIyN3ptLTguNjYyLTEwLjJoMi41MTFjLjkyMyAwIDEuNjE1LS4yNTYgMi4wNzYtLjc0M3MuNjkyLTEuMTI4LjY5Mi0xLjg3MS0uMjMxLTEuNDEtLjY2Ni0xLjkyMmMtLjQzNi0uNDg3LTEuMTUzLS43NDMtMi4wNzYtLjc0M2gtMi41Mzd6bTE3NS4yNCAxMC4ydi0xOC44MWgxMS43NjN2MS43MTZjMCAxLS44MiAxLjc5NC0xLjc5NCAxLjc5NGgtNS42MTN2NC4wNWg2LjMwNXYzLjEyNmgtNi4zMDV2NC41ODdoNy40MzJ2My41MWgtMTEuNzYzem0tNDIuOTUyLTE4LjgxdjE4Ljc4NGgxMS4yNzZ2LTMuMzgzaC02Ljk0NVYxNi44MzdjMC0xLjIzLS45OTktMi4yMy0yLjIzLTIuMjN6bS0yMi41MjYuMDI1aC00LjM1N3YxOC43ODVoNC4zNTd6bTEzLjgxMyAxNi45OWEzLjc1IDMuNzUgMCAwIDAgMy4xNzggMS43OTVoMi44N2wtNS4yNzktOC4yMjcuMjU2LS4xMjhjMS4xNTMtLjUzOCAxLjk0OC0xLjIzIDIuNDA5LTIuMTAxLjQ2Mi0uODk3LjY5Mi0xLjc5NC42OTItMi42NjZxMC0yLjYxMy0xLjYxNC00LjE1MWMtMS4xMDItMS4wMjUtMi42NC0xLjUzOC00LjYzOS0xLjUzOGgtNy43Mzl2MTguNzg1aDQuMzMxdi03LjM1NWgyLjE1MnptLTIuOTczLTguNDA1aC0yLjUxMXYtNS4yOGgyLjUzN2MuOTIzIDAgMS42NC4yNTcgMi4wNzYuNzQ0LjQzNS41MTIuNjY2IDEuMTc5LjY2NiAxLjkyMnMtLjIzMSAxLjM4NC0uNjkyIDEuODdjLS40NjEuNDg4LTEuMTUzLjc0NC0yLjA3Ni43NDRtLTI0Ljc1Ni04LjYxaC00Ljk5N2wtNy4wOTkgMTguODFoMy4xMjdhMS44NSAxLjg1IDAgMCAwIDEuNzQzLTEuMjU2bC43MTctMi4yMDRoNy42MzdsMS4xMjggMy40Nmg0LjcxNXptLTUuMzU2IDExLjk0MSAxLjcxNy00Ljc0Yy4zODUtMS4wNzcuNzY5LTIuMjA1IDEtMy4wMjVoLjA1MWMuMjMxLjg3Mi41OSAxLjkyMi45NzQgMy4wMjRsMS42NCA0Ljc0MXptMTAwLjAyNCAyLjQ2djMuNjE0YzEuNDYuNjE1IDMuMzU3IDEuMDUxIDUuNzY2IDEuMDUxIDMuODk1IDAgNi44MTctMS45OTkgNi44MTctNS42NjQgMC0zLjYxLTIuMTExLTQuNTQ5LTQuMjc1LTUuNTExLS4zNzEtLjE2NS0uNzQzLS4zMzEtMS4xMDctLjUxMWwtLjA3Ni0uMDI5Yy0xLjg3NS0uNjk5LTIuOTIyLTEuMDktMi45MjItMi4zNTQgMC0xLjIwNS44OTctMS44OTcgMi43OTMtMS44OTcgMS43NDMgMCAzLjUxMS41MzggNC40ODUgMXYtMy41MTFhMTQuNCAxNC40IDAgMCAwLTQuNzkzLS44NDZjLTMuODY5IDAtNi42NjMgMS43MTctNi42NjMgNS4zODIgMCAzLjE1MiAxLjg3MSA0LjUxIDMuODQ0IDUuMzgyLjU1MS4yMzQgMS4wNDkuNDMgMS40OTQuNjA1aC4wMDFjMS44OTUuNzQ2IDIuODM2IDEuMTE2IDIuODM2IDIuNDQ0IDAgMS40MS0xLjA3NiAyLjEyNy0zLjIwMyAyLjEyNy0xLjg0NSAwLTMuNjEzLS42NC00Ljk5Ny0xLjI4MU0yNTcuNTggMTQuNjA4aDIuNjY2YzEuMjgxIDAgMi40Ni42NjYgMy4xNTIgMS43NDNsNS4yNTMgOC40MzFjLjU5Ljk0OCAxLjI4MiAyLjE3OCAxLjY5MiAzLjA1aC4xMDJhNTQgNTQgMCAwIDEtLjEwMi0yLjg3VjE0LjYwN2gzLjgxOHYxOC44MWgtNC43NjZsLTYuMzgyLTEwLjE3M2MtLjU4OS0uOTIzLTEuMjA0LTIuMDUtMS42NjUtMi44OTV2LS4wMDFoLS4wNTJjLjAxLjMwNC4wMjYuNjI3LjA0NC45NTkuMDI4LjU2Mi4wNTkgMS4xNTIuMDU5IDEuNzMydjEwLjM3OWgtMy44MTl6bS04LjMyOS4wMjZoNC4zNTd2MTguNzg1aC00LjM1N3oiIGNsaXAtcnVsZT0iZXZlbm9kZCI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9InRrLWJyYW5kLXRleHRfc3ZnX19hIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDMwNS45NjV2NDhIMHoiPjwvcGF0aD48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4="); }

@media (max-width: 760px) {
  .sale-year-map__route-map-meta {
    gap: 6px;
  }

  .sale-year-map__route-airline {
    width: 58px;
    min-width: 58px;
    max-width: 58px;
    height: 20px;
    flex-basis: 58px;
    padding: 2px 3px;
  }

  .sale-year-map__route-airline img,
  .sale-year-map__route-airline-asset {
    max-width: 52px;
    max-height: 16px;
  }

  .sale-year-map__route-airline-fallback {
    font-size: 7.5px;
  }
}


/* AirSale 0.7.30: 金額の桁数に左右されないロゴ固定列・中央揃え */
.sale-year-map__route-map-meta {
  display: grid;
  grid-template-columns: 82px 66px max-content;
  align-items: center;
  justify-content: start;
  column-gap: 8px;
  row-gap: 0;
}

.sale-year-map__route-map-meta b,
.sale-year-map__route-map-meta i,
.sale-year-map__route-airline {
  justify-self: start;
  margin-left: 0;
  margin-right: 0;
}

.sale-year-map__route-map-meta b {
  min-width: 0;
  white-space: nowrap;
}

.sale-year-map__route-airline {
  align-self: center;
}

.sale-year-map__route-airline img,
.sale-year-map__route-airline-asset {
  margin: auto;
  object-position: 50% 50%;
  background-position: 50% 50%;
}

.airline-logo-directory__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.airline-logo-directory__visual img {
  margin: auto;
  object-position: 50% 50%;
}

@media (max-width: 760px) {
  .sale-year-map__route-map-meta {
    grid-template-columns: 76px 58px max-content;
    column-gap: 6px;
  }
}


/* AirSale 0.7.31: 国ごとに独立したセクションとして分割 */
.sale-year-map__country-group {
  position: relative;
  margin: 0;
  border: 1px solid #bfd6e4;
  background: #fff;
  box-shadow: 0 2px 0 rgba(19, 106, 153, .06);
}

.sale-year-map__country-group + .sale-year-map__country-group {
  margin-top: 28px;
}

.sale-year-map__country-title {
  margin: 0;
  border-bottom: 1px solid #b8d3e3;
  background: #e8f5fc;
  box-shadow: inset 5px 0 0 #1590c9;
}

.sale-year-map__country-title span {
  padding-left: 5px;
}

@media (max-width: 760px) {
  .sale-year-map__country-group + .sale-year-map__country-group {
    margin-top: 20px;
  }
}


/* AirSale 0.7.32: 行先の直下に出発地見出しを一度だけ表示 */
.sale-year-map__arrival-title {
  justify-content: flex-start;
}

.sale-year-map__origin-label {
  display: flex;
  min-height: 26px;
  align-items: center;
  margin: 0;
  padding: 0 16px;
  border-bottom: 1px solid #dceaf1;
  color: #607784;
  background: #f8fbfd;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
}

@media (max-width: 760px) {
  .sale-year-map__origin-label {
    min-height: 24px;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 10px;
  }
}


/* Air Sale Japan header and editorial — 2026-08-02 */
.site-header__inner {
  min-height: 74px;
  gap: 28px;
}

.site-brand {
  flex: 0 0 auto;
  font-size: clamp(24px, 2.25vw, 30px);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1;
}

.site-brand__name {
  display: inline-block;
  color: #117fc8;
  background: linear-gradient(90deg, #0878c9 0%, #18a1e1 55%, #4bc3f2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.site-nav.site-nav--primary {
  display: block !important;
  margin-left: auto;
}

.site-nav--primary .site-nav__list {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav--primary .site-nav__list li {
  margin: 0;
  padding: 0;
}

.site-nav--primary .site-nav__list a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 15px;
  border: 1px solid #1581be;
  border-radius: 3px;
  color: #fff !important;
  background: #168dcc;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

.site-nav--primary .site-nav__list a:hover,
.site-nav--primary .site-nav__list a:focus-visible {
  border-color: #086da8;
  color: #fff !important;
  background: #0878ba;
}

#latest,
#year-map,
#articles,
#campaigns {
  scroll-margin-top: 92px;
}

.home-editorial {
  background: #fff;
  border-top: 1px solid #dce9f1;
  border-bottom: 1px solid #dce9f1;
}

.home-editorial__head {
  margin-bottom: 22px;
}

.home-editorial__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.home-editorial__card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9e6ee;
  border-radius: 3px;
  background: #fff;
}

.home-editorial__link {
  display: block;
  height: 100%;
  color: #26343c;
  text-decoration: none;
}

.home-editorial__image {
  display: grid;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  color: #0d78b5;
  background: linear-gradient(135deg, #e5f5fd 0%, #c9ebfb 100%);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  place-items: center;
}

.home-editorial__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
}

.home-editorial__link:hover .home-editorial__image img {
  transform: scale(1.025);
}

.home-editorial__body {
  padding: 15px 16px 17px;
}

.home-editorial__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: #6d7d87;
  font-size: 11px;
  line-height: 1.4;
}

.home-editorial__meta span {
  color: #0d82c3;
  font-weight: 750;
}

.home-editorial__card h3 {
  margin: 0;
  color: #22313a;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.45;
}

.home-editorial__card p {
  display: -webkit-box;
  margin: 9px 0 0;
  overflow: hidden;
  color: #61717a;
  font-size: 13px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.home-editorial__read-more {
  display: inline-block;
  margin-top: 13px;
  color: #087fc0;
  font-size: 12px;
  font-weight: 750;
}

.home-editorial__empty {
  padding: 24px;
  border: 1px solid #d9e7ef;
  background: #f7fbfd;
  text-align: center;
}

.home-editorial__empty p {
  margin: 0;
  color: #586a74;
}

.home-editorial__empty a {
  display: inline-block;
  margin-top: 10px;
  color: #087fc0;
  font-weight: 700;
}

@media (max-width: 860px) {
  .site-header__inner {
    flex-wrap: wrap;
    gap: 9px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .site-brand {
    font-size: 24px;
  }

  .site-nav.site-nav--primary {
    display: block !important;
    width: 100%;
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .site-nav--primary::-webkit-scrollbar {
    display: none;
  }

  .site-nav--primary .site-nav__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(78px, 1fr));
    gap: 5px;
    min-width: 338px;
  }

  .site-nav--primary .site-nav__list a {
    min-height: 35px;
    padding: 7px 5px;
    font-size: 12px;
  }

  #latest,
  #year-map,
  #articles,
  #campaigns {
    scroll-margin-top: 124px;
  }

  .home-editorial__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .site-brand {
    font-size: 22px;
  }

  .home-editorial__grid {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .home-editorial__body {
    padding: 13px 14px 15px;
  }

  .home-editorial__card h3 {
    font-size: 17px;
  }
}


/* Air Sale Japan: brand row + centered menu row — 0.7.34 */
.site-header__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 0 !important;
  min-height: 0 !important;
  padding-top: 9px;
  padding-bottom: 0;
}

.site-header__brand-row {
  display: flex;
  min-height: 48px;
  align-items: center;
}

.site-header__menu-row {
  width: 100%;
  padding: 8px 0 10px;
  border-top: 1px solid #dcecf5;
}

.site-header__menu-row .site-nav.site-nav--primary {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

.site-header__menu-row .site-nav__list {
  display: flex !important;
  width: 100%;
  min-width: 0 !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
}

@media (max-width: 860px) {
  .site-header__inner {
    padding-top: 6px;
    padding-bottom: 0;
  }

  .site-header__brand-row {
    min-height: 43px;
  }

  .site-header__menu-row {
    padding: 6px 0 8px;
  }

  .site-header__menu-row .site-nav__list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    min-width: 0 !important;
  }

  .site-header__menu-row .site-nav__list a {
    width: 100%;
    min-height: 40px;
    padding: 7px 3px;
    font-size: 13px;
  }
}

/* Air Sale Japan editorial article layout — 0.7.35 */
.editorial-main { padding: 42px 0 72px; background: #f7fafc; }
.editorial-container { max-width: 1040px; }
.editorial-article { max-width: 820px; margin: 0 auto; padding: 42px 52px 56px; background: #fff; border: 1px solid #dbe7ef; }
.editorial-breadcrumb { display: flex; gap: 8px; margin-bottom: 24px; color: #6b7c88; font-size: 12px; line-height: 1.6; }
.editorial-breadcrumb a { color: #168dcc; }
.editorial-category { display: inline-block; margin-bottom: 12px; color: #167db5; font-size: 13px; font-weight: 700; text-decoration: none; }
.editorial-header h1 { margin: 0; color: #17364a; font-size: clamp(28px, 4vw, 40px); line-height: 1.45; letter-spacing: -.025em; }
.editorial-lead { margin: 20px 0 0; color: #425a69; font-size: 16px; line-height: 1.9; }
.editorial-meta { display: flex; gap: 18px; margin: 16px 0 0; color: #7b8d98; font-size: 12px; }
.editorial-featured { margin: 28px 0; }
.editorial-featured img { display: block; width: 100%; height: auto; }
.editorial-toc { margin: 32px 0 38px; padding: 22px 24px; background: #f3f8fb; border-left: 4px solid #168dcc; }
.editorial-toc strong { display: block; margin-bottom: 10px; color: #17364a; font-size: 15px; }
.editorial-toc ol { margin: 0; padding-left: 1.4em; }
.editorial-toc li { margin: 6px 0; color: #526a79; font-size: 14px; line-height: 1.6; }
.editorial-toc a { color: #216f9d; text-decoration: none; }
.editorial-content { color: #293f4d; font-size: 16px; line-height: 2; }
.editorial-content > p { margin: 0 0 1.45em; }
.editorial-content h2 { scroll-margin-top: 24px; margin: 2.4em 0 .85em; padding: 0 0 .55em; color: #17364a; font-size: 25px; line-height: 1.5; border-bottom: 2px solid #168dcc; }
.editorial-content h3 { margin: 1.9em 0 .65em; color: #244e67; font-size: 19px; line-height: 1.55; }
.editorial-content ul,
.editorial-content ol { margin: 1.1em 0 1.6em; padding-left: 1.6em; }
.editorial-content li { margin: .45em 0; }
.editorial-content table { width: 100%; margin: 1.4em 0 2em; border-collapse: collapse; font-size: 14px; }
.editorial-content th,
.editorial-content td { padding: 12px 14px; border: 1px solid #d6e3eb; text-align: left; vertical-align: top; }
.editorial-content th { background: #edf5f9; color: #17364a; }
.editorial-content blockquote { margin: 1.5em 0; padding: 16px 20px; background: #f7fafc; border-left: 4px solid #8bbdd7; color: #425a69; }
.editorial-cta { margin: 44px 0 0; padding: 24px; background: #eef7fc; border-top: 3px solid #168dcc; }
.editorial-cta strong { color: #17364a; font-size: 18px; }
.editorial-cta p { margin: 8px 0 14px; color: #4a6473; }
.editorial-cta a { display: inline-block; color: #fff; background: #168dcc; padding: 10px 18px; text-decoration: none; font-weight: 700; }
.editorial-related { margin-top: 42px; padding-top: 26px; border-top: 1px solid #dbe7ef; }
.editorial-related h2 { margin: 0 0 14px; color: #17364a; font-size: 21px; }
.editorial-related ul { margin: 0; padding-left: 1.2em; }
.editorial-related li { margin: 8px 0; line-height: 1.6; }
@media (max-width: 760px) {
    .editorial-main { padding: 18px 0 42px; }
    .editorial-container { width: min(100% - 20px, 1040px); }
    .editorial-article { padding: 26px 20px 38px; border-left: 0; border-right: 0; }
    .editorial-header h1 { font-size: 27px; }
    .editorial-lead,
    .editorial-content { font-size: 15px; }
    .editorial-meta { flex-wrap: wrap; gap: 6px 14px; }
    .editorial-toc { margin: 24px 0 30px; padding: 18px; }
    .editorial-content h2 { font-size: 22px; }
    .editorial-content table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Air Sale Japan: readable smartphone type scale - 0.7.40 */
@media (max-width: 860px) {
  .site-header .site-header__menu-row .site-nav--primary .site-nav__list a {
    min-height: 42px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 560px) {
  .site-header .site-header__brand-row .site-brand {
    font-size: 23px !important;
  }

  .site-header .site-header__menu-row .site-nav--primary .site-nav__list a {
    min-height: 44px !important;
    padding: 7px 1px !important;
    font-size: clamp(13px, 3.6vw, 14px) !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  body.home .site-section .section-head h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

  body.home .site-section .section-head p {
    font-size: 15px;
    line-height: 1.65;
  }

  body.home .section-more .button {
    min-height: 44px;
    font-size: 15px;
    line-height: 1.4;
  }

  body.home .home-editorial__meta {
    font-size: 12px;
    line-height: 1.5;
  }

  body.home .home-editorial__card h3 {
    font-size: 19px;
    line-height: 1.45;
  }

  body.home .home-editorial__card p {
    font-size: 15px;
    line-height: 1.65;
  }

  body.home .home-editorial__read-more {
    font-size: 14px;
    line-height: 1.4;
  }

  body.home #campaigns .sale-compact-row__status {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.home #campaigns .sale-compact-row__title {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  body.home #campaigns .sale-compact-row__meta,
  body.home #campaigns .sale-compact-row__airline,
  body.home #campaigns .sale-compact-row__published,
  body.home #campaigns .sale-compact-row__route,
  body.home #campaigns .sale-compact-row__periods {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body.home #campaigns .sale-compact-row__period strong {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.home #campaigns .sale-compact-row__price,
  body.home #campaigns .sale-compact-row__price--unknown {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }
}

/* Air Sale Japan: sale detail smartphone booking layout - 0.7.41 */
.site-mobile-menu,
.sale-fares__title,
.sale-fares__official-cta,
.fare-period__label {
  display: none;
}

.sale-fares .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.sale-summary__period--mobile {
  display: none;
}

@media (max-width: 768px) {
  body.single-kitayo_sale {
    background: #f6f8fa;
  }

  body.single-kitayo_sale .site-header {
    position: relative !important;
    z-index: 40 !important;
    min-height: 56px;
  }

  body.single-kitayo_sale .site-header .site-header__inner {
    display: block !important;
    width: calc(100% - 32px) !important;
    min-height: 56px !important;
    padding: 0 !important;
  }

  body.single-kitayo_sale .site-header .site-header__brand-row {
    display: flex !important;
    width: 100%;
    min-height: 56px !important;
    align-items: center;
    justify-content: space-between;
  }

  body.single-kitayo_sale .site-header .site-brand {
    min-width: 0;
    font-size: 20px !important;
    line-height: 1.1 !important;
  }

  body.single-kitayo_sale .site-header.site-header--mobile-menu .site-header__menu-row {
    display: none !important;
  }

  body.single-kitayo_sale .site-mobile-menu {
    position: relative;
    display: block;
    flex: 0 0 auto;
    margin-left: 12px;
  }

  body.single-kitayo_sale .site-mobile-menu__toggle {
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    cursor: pointer;
    list-style: none;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: transparent;
    place-items: center;
    -webkit-tap-highlight-color: transparent;
  }

  body.single-kitayo_sale .site-mobile-menu__toggle::-webkit-details-marker {
    display: none;
  }

  body.single-kitayo_sale .site-mobile-menu__toggle:hover,
  body.single-kitayo_sale .site-mobile-menu__toggle:focus-visible,
  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__toggle {
    background: rgba(255, 255, 255, .14);
  }

  body.single-kitayo_sale .site-mobile-menu__toggle:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -3px;
  }

  body.single-kitayo_sale .site-mobile-menu__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.single-kitayo_sale .site-mobile-menu__label--close,
  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__label--open {
    display: none;
  }

  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__label--close {
    display: block;
  }

  body.single-kitayo_sale .site-mobile-menu__icon {
    position: relative;
    display: grid;
    width: 24px;
    height: 18px;
    align-content: space-between;
  }

  body.single-kitayo_sale .site-mobile-menu__icon span {
    display: block;
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
  }

  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__icon span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__icon span:nth-child(2) {
    opacity: 0;
  }

  body.single-kitayo_sale .site-mobile-menu[open] .site-mobile-menu__icon span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  body.single-kitayo_sale .site-mobile-menu__panel {
    position: absolute;
    top: 52px;
    right: 0;
    z-index: 100;
    width: min(280px, calc(100vw - 32px));
    padding: 8px;
    border: 1px solid #dce6ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(27, 52, 69, .18);
  }

  body.single-kitayo_sale .site-mobile-menu__list {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.single-kitayo_sale .site-mobile-menu__list a {
    display: flex;
    min-height: 48px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 9px;
    color: #18384c;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }

  body.single-kitayo_sale .site-mobile-menu__list a:hover,
  body.single-kitayo_sale .site-mobile-menu__list a:focus-visible {
    color: #0c6da8;
    background: #edf7fd;
    outline: 2px solid #1687e8;
    outline-offset: -2px;
  }

  body.single-kitayo_sale .content-area {
    padding: 24px 0 48px;
    background: #f6f8fa;
  }

  body.single-kitayo_sale .content-area > .container.entry-shell {
    display: block;
    width: calc(100% - 32px);
    max-width: 760px;
  }

  body.single-kitayo_sale .entry-main {
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-kitayo_sale .entry-header {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px;
  }

  body.single-kitayo_sale .section-eyebrow {
    order: 0;
    margin: 0 0 6px;
    color: #0b6fb8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
  }

  body.single-kitayo_sale .entry-header h1 {
    order: 2;
    margin: 0;
    color: #172b38 !important;
    font-size: clamp(22px, 6.15vw, 24px) !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
    letter-spacing: -.02em !important;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .entry-meta {
    order: 1;
    gap: 5px 12px;
    margin: 0 0 8px;
    color: #5b6e7a !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }

  body.single-kitayo_sale .entry-featured-image {
    width: 100%;
    margin: 0 0 22px;
    padding: 0 !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 14px !important;
    background: #eaf1f5 !important;
    box-shadow: none !important;
  }

  body.single-kitayo_sale .entry-featured-image img {
    display: block;
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
    border-radius: 14px !important;
  }

  body.single-kitayo_sale .entry-featured-image figcaption {
    padding: 8px 10px;
    color: #5f7280;
    background: #fff;
    font-size: 11px;
    line-height: 1.5;
  }

  body.single-kitayo_sale .sale-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    margin: 0 0 28px;
  }

  body.single-kitayo_sale .sale-summary__item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 9px;
    min-height: 88px !important;
    align-items: stretch;
    padding: 13px 12px !important;
    border: 1px solid #dfe8ee !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(31, 64, 83, .05) !important;
  }

  body.single-kitayo_sale .sale-summary__item > div {
    align-self: stretch;
    height: 100%;
    min-height: 60px;
    min-width: 0;
    padding: 0 !important;
    background: transparent !important;
    display: grid;
    grid-template-rows: auto minmax(44px, 1fr);
    align-content: center;
    align-items: center;
  }

  body.single-kitayo_sale .sale-summary__period--full {
    display: none;
  }

  body.single-kitayo_sale .sale-summary__period--mobile {
    display: inline;
  }

  body.single-kitayo_sale .sale-summary__icon,
  body.single-kitayo_sale .sale-summary__item--sale .sale-summary__icon,
  body.single-kitayo_sale .sale-summary__item--travel .sale-summary__icon {
    display: grid;
    width: 36px !important;
    height: 36px !important;
    align-self: center;
    color: #1687e8 !important;
    border-radius: 10px !important;
    background: #eaf5ff !important;
    place-items: center;
  }

  body.single-kitayo_sale .sale-summary__icon svg {
    width: 20px;
    height: 20px;
  }

  body.single-kitayo_sale .sale-summary dt {
    align-self: end;
    color: #5b6f7c;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1.3;
  }

  body.single-kitayo_sale .sale-summary dd {
    display: flex;
    min-height: 44px;
    align-items: center;
    margin-top: 0;
    color: #18384c;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .sale-fares {
    margin: 0 0 28px;
  }

  body.single-kitayo_sale .sale-fares__title {
    display: block;
    margin: 0 0 12px;
    color: #172b38;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.4;
  }

  body.single-kitayo_sale .fare-table-wrap {
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
  }

  body.single-kitayo_sale .fare-table,
  body.single-kitayo_sale .fare-table tbody {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  body.single-kitayo_sale .fare-table colgroup {
    display: none;
  }

  body.single-kitayo_sale .fare-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  body.single-kitayo_sale .fare-table tbody {
    display: grid;
    gap: 12px;
  }

  body.single-kitayo_sale .fare-table tbody tr {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "route type"
      "price price"
      "period period";
    gap: 9px 10px;
    padding: 16px;
    border: 1px solid #dfe7ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(28, 61, 81, .06);
  }

  body.single-kitayo_sale .fare-table td {
    display: block;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    line-height: 1.45;
    white-space: normal !important;
  }

  body.single-kitayo_sale .fare-route {
    grid-area: route;
    align-self: center;
    color: #213d50;
    font-size: 16px;
    font-weight: 750;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .fare-type {
    grid-area: type;
    align-self: start;
    justify-self: end;
  }

  body.single-kitayo_sale .fare-type__badge {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid #b9d9ef;
    border-radius: 999px;
    color: #0d6fae;
    background: #eef8fe;
    font-size: 11.5px;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
  }

  body.single-kitayo_sale .fare-price {
    grid-area: price;
    color: #1687e8;
    font-weight: 850;
    letter-spacing: -.025em;
  }

  body.single-kitayo_sale .fare-price__amount {
    font-size: clamp(28px, 8.2vw, 32px);
    line-height: 1.12;
  }

  body.single-kitayo_sale .fare-price__suffix {
    margin-left: 2px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
  }

  body.single-kitayo_sale .fare-period {
    display: flex !important;
    grid-area: period;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
    color: #566d7c;
    font-size: 13px;
    line-height: 1.5;
  }

  body.single-kitayo_sale .fare-period__label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    color: #5b6f7c;
    font-size: 11.5px;
    font-weight: 750;
  }

  body.single-kitayo_sale .fare-period__label::before {
    width: 14px;
    height: 14px;
    margin-right: 5px;
    content: "";
    border: 1.5px solid #1687e8;
    border-radius: 3px;
    background:
      linear-gradient(#1687e8, #1687e8) 2px 3px / 8px 1.5px no-repeat,
      linear-gradient(#1687e8, #1687e8) 3px 0 / 1.5px 4px no-repeat,
      linear-gradient(#1687e8, #1687e8) 8px 0 / 1.5px 4px no-repeat;
  }

  body.single-kitayo_sale .fare-period__value {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .sale-fares__official-cta {
    display: block;
    margin: 14px 0 0;
  }

  body.single-kitayo_sale .sale-fares__official-cta a {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    border: 1px solid #1687e8;
    border-radius: 12px;
    color: #fff;
    background: #0b6fb8;
    box-shadow: 0 7px 18px rgba(22, 135, 232, .2);
    font-size: clamp(14px, 4vw, 15.5px);
    font-weight: 800;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
  }

  body.single-kitayo_sale .sale-fares__official-cta a:hover,
  body.single-kitayo_sale .sale-fares__official-cta a:focus-visible {
    border-color: #085f9f;
    background: #085f9f;
    outline: 3px solid #8dccff;
    outline-offset: 2px;
  }

  body.single-kitayo_sale .fare-disclaimer {
    margin: -8px 0 26px;
    color: #5f7180;
    font-size: 12.5px;
    line-height: 1.65;
  }

  body.single-kitayo_sale .entry-content {
    color: #293f4d;
    font-size: 15.5px;
    line-height: 1.78;
  }

  body.single-kitayo_sale .entry-content > p:first-child {
    margin: 0 0 26px;
  }

  body.single-kitayo_sale .entry-content h2 {
    margin: 28px 0 0;
    padding: 16px 16px 9px;
    border: 1px solid #dfe7ed;
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    color: #18384c;
    background: #fff;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.45;
  }

  body.single-kitayo_sale .entry-content h2 + ul,
  body.single-kitayo_sale .entry-content h2 + ol,
  body.single-kitayo_sale .entry-content h2 + p {
    margin: 0 0 28px;
    padding: 5px 16px 16px;
    border: 1px solid #dfe7ed;
    border-top: 0;
    border-radius: 0 0 14px 14px;
    background: #fff;
  }

  body.single-kitayo_sale .entry-content h2 + ul,
  body.single-kitayo_sale .entry-content h2 + ol {
    padding-left: 38px;
  }

  body.single-kitayo_sale .entry-content h2 + p a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: #0b72b6;
    font-weight: 750;
    line-height: 1.5;
  }

  body.single-kitayo_sale .entry-content h2 + p + p {
    margin-top: -16px;
    color: #60717d;
    font-size: 12.5px;
    line-height: 1.65;
  }

  body.single-kitayo_sale .airline-logo-directory {
    padding: 22px 0 26px;
    border-top: 0;
    background: #f6f8fa;
  }

  body.single-kitayo_sale .airline-logo-directory > .container {
    width: calc(100% - 32px);
  }

  body.single-kitayo_sale .airline-logo-directory__header {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 10px;
  }

  body.single-kitayo_sale .airline-logo-directory__header h2 {
    font-size: 18px;
    line-height: 1.3;
  }

  body.single-kitayo_sale .airline-logo-directory__header > p {
    margin: 0;
    color: #5b6f7c;
    font-size: 11.5px;
    line-height: 1.4;
  }

  body.single-kitayo_sale .airline-logo-directory__header > p strong {
    color: #0b6fb8;
    font-size: 14px;
  }

  body.single-kitayo_sale .airline-logo-directory__eyebrow {
    color: #0b6fb8;
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: .12em;
  }

  body.single-kitayo_sale .airline-logo-directory__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  body.single-kitayo_sale .airline-logo-directory__item {
    min-height: 52px;
    padding: 5px 4px;
    border: 1px solid #dfe7ed;
    border-radius: 8px;
    background: #fff;
  }

  body.single-kitayo_sale .airline-logo-directory__visual {
    height: 40px;
  }

  body.single-kitayo_sale .airline-logo-directory__visual img {
    width: 100%;
    height: 100%;
    max-width: 70px;
    max-height: 28px;
    object-fit: contain;
  }

  body.single-kitayo_sale .airline-logo-directory__fallback {
    padding: 0 2px;
    font-size: 10px;
    line-height: 1.15;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .site-footer {
    padding: 34px 0 38px;
  }

  body.single-kitayo_sale .site-footer__inner {
    display: grid !important;
    width: calc(100% - 32px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
  }

  body.single-kitayo_sale .site-footer p {
    max-width: 100%;
    color: #fff;
    font-size: 13.5px;
    line-height: 1.7;
  }
}

@media (max-width: 360px) {
  body.single-kitayo_sale .sale-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  body.single-kitayo_sale .airline-logo-directory__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Air Sale Japan: sale detail desktop service redesign - 0.7.44 */
body.single-kitayo_sale {
  --sale-page-bg: #f5f7fa;
  --sale-surface: #fff;
  --sale-navy: #142b3c;
  --sale-text: #294252;
  --sale-muted: #5b6f7c;
  --sale-blue: #0b6fb8;
  --sale-blue-bright: #1687e8;
  --sale-blue-pale: #edf7ff;
  --sale-coral: #e8663f;
  --sale-line: #dce5eb;
  --sale-soft-line: #e8eef2;
  --sale-radius-sm: 12px;
  --sale-radius: 16px;
  --sale-shadow: 0 12px 34px rgba(22, 48, 66, .08);
  --sale-shadow-soft: 0 5px 18px rgba(22, 48, 66, .06);
  color: var(--sale-text);
  background: var(--sale-page-bg);
  font-family: Inter, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

body.single-kitayo_sale .site-header.site-header--sale-detail {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  min-height: 68px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sale-line) !important;
  color: var(--sale-navy) !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 2px 12px rgba(20, 43, 60, .05) !important;
  backdrop-filter: blur(12px);
}

body.admin-bar.single-kitayo_sale .site-header.site-header--sale-detail {
  top: 32px !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__inner {
  display: flex !important;
  width: min(1200px, calc(100% - 40px)) !important;
  min-height: 68px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: 0 !important;
  color: var(--sale-navy) !important;
  background: transparent !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__brand-row {
  display: flex !important;
  min-width: 0;
  min-height: 68px !important;
  align-items: center !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-brand {
  display: inline-flex !important;
  min-height: 48px;
  align-items: center;
  gap: 10px;
  padding: 0 !important;
  color: var(--sale-navy) !important;
  font-size: 22px !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
  text-decoration: none;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-brand__name {
  color: var(--sale-navy) !important;
  background: none !important;
  -webkit-text-fill-color: var(--sale-navy) !important;
}

body.single-kitayo_sale .site-brand__mark {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  color: #fff;
  border-radius: 11px;
  background: var(--sale-blue-bright);
  place-items: center;
}

body.single-kitayo_sale .site-brand__mark svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__menu-row,
body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav.site-nav--primary,
body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list {
  display: flex !important;
  width: auto !important;
  min-height: 68px !important;
  align-items: stretch !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list li {
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  align-items: stretch;
  border: 0 !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a {
  position: relative;
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 48px !important;
  align-items: center;
  justify-content: center;
  padding: 10px 15px !important;
  border: 0 !important;
  border-radius: 9px;
  color: #425b6b !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none;
  white-space: nowrap;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a.is-current,
body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a:hover,
body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a:focus-visible {
  color: var(--sale-blue) !important;
  background: #eef7fd !important;
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a.is-current::after {
  position: absolute;
  right: 15px;
  bottom: 5px;
  left: 15px;
  height: 2px;
  content: "";
  border-radius: 999px;
  background: var(--sale-blue-bright);
}

body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list a:focus-visible,
body.single-kitayo_sale .site-brand:focus-visible {
  outline: 3px solid #91d0ff;
  outline-offset: 2px;
}

body.single-kitayo_sale .sale-detail-page {
  padding: 28px 0 72px;
  background: var(--sale-page-bg) !important;
}

body.single-kitayo_sale .sale-detail-page__container {
  width: min(1200px, calc(100% - 40px));
  max-width: 1200px;
}

body.single-kitayo_sale .sale-breadcrumb {
  margin: 0 0 22px;
  color: var(--sale-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

body.single-kitayo_sale .sale-breadcrumb ol {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.single-kitayo_sale .sale-breadcrumb li {
  min-width: 0;
}

body.single-kitayo_sale .sale-breadcrumb li:not(:last-child)::after {
  margin-left: 7px;
  content: "/";
  color: #9aabb5;
}

body.single-kitayo_sale .sale-breadcrumb li:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.single-kitayo_sale .sale-breadcrumb a {
  color: var(--sale-blue);
  font-weight: 700;
  text-decoration: none;
}

body.single-kitayo_sale .sale-breadcrumb a:hover,
body.single-kitayo_sale .sale-breadcrumb a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.single-kitayo_sale .sale-detail-page .entry-shell {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}

body.single-kitayo_sale .sale-detail-layout {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "media"
    "aside"
    "body";
  gap: 24px;
}

body.single-kitayo_sale .sale-detail-primary {
  grid-area: body;
  min-width: 0;
}

body.single-kitayo_sale .sale-detail-layout > .entry-featured-image {
  grid-area: media;
  margin: 0 !important;
}

body.single-kitayo_sale .sale-detail-page .entry-main {
  width: 100%;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-kitayo_sale .sale-detail-page .entry-header {
  margin: 0 0 24px;
  padding: 0;
}

body.single-kitayo_sale .entry-header__airline-row {
  display: flex;
  min-height: 34px;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

body.single-kitayo_sale .entry-airline {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 9px;
  color: var(--sale-navy);
  font-size: 14px;
  font-weight: 800;
}

body.single-kitayo_sale .entry-airline__logo {
  display: grid;
  width: 72px;
  height: 32px;
  place-items: center;
  padding: 4px 7px;
  overflow: hidden;
  border: 1px solid var(--sale-line);
  border-radius: 8px;
  background: var(--airline-logo-bg, #fff);
}

body.single-kitayo_sale .entry-airline__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.single-kitayo_sale .sale-status-badge {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  color: #17603e;
  background: #e6f6ee;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
}

body.single-kitayo_sale .sale-status-badge--upcoming {
  color: #80500b;
  background: #fff3d8;
}

body.single-kitayo_sale .sale-status-badge--ended {
  color: #6b5960;
  background: #f1ecee;
}

body.single-kitayo_sale .sale-detail-page .entry-header h1 {
  max-width: 820px;
  margin: 0;
  color: var(--sale-navy) !important;
  font-size: clamp(32px, 3.15vw, 38px) !important;
  font-weight: 850 !important;
  line-height: 1.38 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: anywhere;
}

body.single-kitayo_sale .sale-detail-page .entry-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 14px 0 0;
  color: var(--sale-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

body.single-kitayo_sale .sale-detail-page .entry-meta a {
  color: var(--sale-blue);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #a9cfe8;
  text-underline-offset: 3px;
}

body.single-kitayo_sale .sale-detail-page .entry-featured-image {
  width: 100%;
  margin: 0 0 26px;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: var(--sale-radius) !important;
  background: #eaf0f4 !important;
  box-shadow: var(--sale-shadow-soft) !important;
}

body.single-kitayo_sale .sale-detail-page .entry-featured-image > img,
body.single-kitayo_sale .sale-detail-page .entry-featured-image > picture,
body.single-kitayo_sale .sale-detail-page .entry-featured-image > picture img {
  display: block;
  width: 100%;
}

body.single-kitayo_sale .sale-detail-page .entry-featured-image > img,
body.single-kitayo_sale .sale-detail-page .entry-featured-image > picture img {
  aspect-ratio: 16 / 9;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
}

body.single-kitayo_sale .sale-detail-page .entry-featured-image figcaption {
  padding: 8px 12px;
  color: #607481;
  background: #fff;
  font-size: 12px;
  line-height: 1.5;
}

body.single-kitayo_sale .sale-detail-page .sale-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 30px;
}

body.single-kitayo_sale .sale-detail-page .sale-summary__item {
  min-height: 96px;
  padding: 16px 18px;
  border: 1px solid var(--sale-line);
  border-radius: var(--sale-radius-sm);
  background: var(--sale-surface);
  box-shadow: var(--sale-shadow-soft);
}

body.single-kitayo_sale .sale-detail-page .sale-summary dt {
  color: var(--sale-muted);
  font-size: 12px;
  font-weight: 750;
}

body.single-kitayo_sale .sale-detail-page .sale-summary dd {
  color: var(--sale-navy);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}

body.single-kitayo_sale .sale-detail-page .notice-box {
  margin: 0 0 26px;
  padding: 16px 18px;
  border: 1px solid #efcfbf;
  border-radius: var(--sale-radius-sm);
  color: #67483a;
  background: #fff8f4;
  font-size: 14px;
  line-height: 1.65;
}

body.single-kitayo_sale .sale-detail-page .sale-fares {
  margin: 0 0 30px;
}

body.single-kitayo_sale .sale-detail-page .sale-fares__title {
  display: block;
  margin: 0 0 14px;
  color: var(--sale-navy);
  font-size: 26px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: -.02em;
}

body.single-kitayo_sale #sale-fares-title,
body.single-kitayo_sale #sale-detail-content {
  scroll-margin-top: 92px;
}

body.admin-bar.single-kitayo_sale #sale-fares-title,
body.admin-bar.single-kitayo_sale #sale-detail-content {
  scroll-margin-top: 124px;
}

body.single-kitayo_sale .sale-detail-page .fare-table-wrap {
  width: 100%;
  margin: 0;
  overflow-x: auto;
  border: 1px solid var(--sale-line);
  border-radius: var(--sale-radius-sm);
  background: #fff;
  box-shadow: var(--sale-shadow-soft);
  -webkit-overflow-scrolling: touch;
}

body.single-kitayo_sale .sale-detail-page .fare-table {
  width: 100%;
  min-width: 720px;
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

body.single-kitayo_sale .sale-detail-page .fare-table__route { width: 31%; }
body.single-kitayo_sale .sale-detail-page .fare-table__type { width: 12%; }
body.single-kitayo_sale .sale-detail-page .fare-table__period { width: 34%; }
body.single-kitayo_sale .sale-detail-page .fare-table__price { width: 23%; }

body.single-kitayo_sale .sale-detail-page .fare-table th {
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--sale-line);
  color: #516776;
  background: #f2f5f7;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  letter-spacing: .025em;
}

body.single-kitayo_sale .sale-detail-page .fare-table th:last-child {
  text-align: right;
}

body.single-kitayo_sale .sale-detail-page .fare-table tbody tr {
  transition: background-color .15s ease;
}

body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:nth-child(even) {
  background: #f9fbfc;
}

body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:hover,
body.single-kitayo_sale .sale-detail-page .fare-table tbody tr.is-lowest-fare {
  background: #edf7ff;
}

body.single-kitayo_sale .sale-detail-page .fare-table td {
  padding: 17px 16px;
  border: 0;
  border-bottom: 1px solid var(--sale-soft-line);
  color: var(--sale-text);
  font-size: 14px;
  line-height: 1.55;
  vertical-align: middle;
}

body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:last-child td {
  border-bottom: 0;
}

body.single-kitayo_sale .sale-detail-page .fare-route {
  font-size: 14.5px;
  font-weight: 800;
}

body.single-kitayo_sale .fare-lowest-badge {
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  margin-left: 7px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #8c3c24;
  background: #ffe4da;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1;
  vertical-align: middle;
}

body.single-kitayo_sale .sale-detail-page .fare-type__badge {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid #b9d8eb;
  border-radius: 999px;
  color: var(--sale-blue);
  background: #f2f9fd;
  font-size: 11.5px;
  font-weight: 800;
}

body.single-kitayo_sale .sale-detail-page .fare-period__label {
  display: none;
}

body.single-kitayo_sale .sale-detail-page .fare-period {
  color: var(--sale-muted);
  font-size: 13px;
  font-weight: 650;
}

body.single-kitayo_sale .sale-detail-page .fare-price {
  color: var(--sale-blue);
  text-align: right;
  white-space: nowrap;
}

body.single-kitayo_sale .sale-detail-page .fare-price__amount {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.025em;
}

body.single-kitayo_sale .sale-detail-page .fare-price__suffix {
  margin-left: 2px;
  font-size: 12px;
  font-weight: 750;
}

body.single-kitayo_sale .sale-detail-page .fare-disclaimer {
  margin: -10px 0 30px;
  color: #60727f;
  font-size: 12.5px;
  line-height: 1.7;
}

body.single-kitayo_sale .sale-detail-page .entry-content {
  color: var(--sale-text);
  font-size: 16px;
  line-height: 1.78;
}

body.single-kitayo_sale .sale-detail-page .entry-content p,
body.single-kitayo_sale .sale-detail-page .entry-content ul,
body.single-kitayo_sale .sale-detail-page .entry-content ol {
  max-width: 760px;
}

body.single-kitayo_sale .sale-detail-page .entry-content h2 {
  margin: 34px 0 14px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 2px solid #dceaf3;
  border-radius: 0;
  color: var(--sale-navy);
  background: transparent;
  font-size: 26px;
  font-weight: 850;
  line-height: 1.4;
  letter-spacing: -.02em;
}

body.single-kitayo_sale .sale-detail-page .entry-content h2 + ul,
body.single-kitayo_sale .sale-detail-page .entry-content h2 + ol,
body.single-kitayo_sale .sale-detail-page .entry-content h2 + p {
  max-width: none;
  margin: 0 0 30px;
  padding: 20px 22px;
  border: 1px solid var(--sale-line);
  border-radius: var(--sale-radius-sm);
  background: #fff;
  box-shadow: var(--sale-shadow-soft);
}

body.single-kitayo_sale .sale-detail-page .entry-content h2 + ul,
body.single-kitayo_sale .sale-detail-page .entry-content h2 + ol {
  padding-left: 44px;
}

body.single-kitayo_sale .sale-detail-page .entry-content a {
  color: var(--sale-blue);
  font-weight: 750;
  text-underline-offset: 3px;
}

body.single-kitayo_sale .entry-side--sale {
  display: block;
  grid-area: aside;
  min-width: 0;
}

body.single-kitayo_sale .sale-overview-card {
  padding: 22px;
  border: 1px solid var(--sale-line);
  border-radius: var(--sale-radius);
  background: #fff;
  box-shadow: var(--sale-shadow);
}

body.single-kitayo_sale .sale-overview-card__top {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sale-soft-line);
}

body.single-kitayo_sale .sale-overview-card__eyebrow {
  margin: 0 0 3px;
  color: var(--sale-blue);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.3;
  letter-spacing: .14em;
}

body.single-kitayo_sale .sale-overview-card h2 {
  margin: 0;
  color: var(--sale-navy);
  font-size: 21px;
  font-weight: 850;
  line-height: 1.4;
}

body.single-kitayo_sale .sale-overview-card__price-label {
  margin: 0 0 4px;
  color: var(--sale-muted);
  font-size: 12px;
  font-weight: 750;
}

body.single-kitayo_sale .sale-overview-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px;
  margin: 0 0 20px;
  color: var(--sale-blue);
}

body.single-kitayo_sale .sale-overview-card__price strong {
  font-size: clamp(30px, 2.7vw, 36px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.04em;
}

body.single-kitayo_sale .sale-overview-card__price small {
  font-size: 15px;
  font-weight: 800;
}

body.single-kitayo_sale .sale-overview-card__fare-type {
  margin-right: 5px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #765126;
  background: #fff0d7;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}

body.single-kitayo_sale .sale-overview-card__price--unknown strong {
  font-size: 21px;
  letter-spacing: -.02em;
}

body.single-kitayo_sale .sale-overview-card__facts {
  display: grid;
  gap: 0;
  margin: 0;
}

body.single-kitayo_sale .sale-overview-card__facts > div {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 10px;
  padding: 11px 0;
  border-top: 1px solid var(--sale-soft-line);
}

body.single-kitayo_sale .sale-overview-card__facts dt {
  color: var(--sale-muted);
  font-size: 11.5px;
  font-weight: 750;
}

body.single-kitayo_sale .sale-overview-card__facts dd {
  margin: 0;
  color: var(--sale-navy);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body.single-kitayo_sale .sale-overview-card__trust {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 16px 0 12px;
  padding: 10px 11px;
  border-radius: 9px;
  color: #245d45;
  background: #edf8f2;
  font-size: 11.5px;
  font-weight: 750;
  line-height: 1.5;
}

body.single-kitayo_sale .sale-overview-card__trust span {
  display: grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 50%;
  color: #fff;
  background: #2c8c60;
  font-size: 11px;
  place-items: center;
}

body.single-kitayo_sale .sale-overview-card__cta {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 11px;
  color: #fff;
  background: var(--sale-blue);
  box-shadow: 0 8px 18px rgba(11, 111, 184, .2);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}

body.single-kitayo_sale .sale-overview-card__cta:hover,
body.single-kitayo_sale .sale-overview-card__cta:focus-visible {
  background: #095e9d;
  transform: translateY(-1px);
  outline: 3px solid #99d2fa;
  outline-offset: 2px;
}

body.single-kitayo_sale .sale-overview-card__note {
  margin: 11px 0 0;
  color: #60727f;
  font-size: 11px;
  line-height: 1.6;
}

body.single-kitayo_sale .sale-overview-card__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid var(--sale-soft-line);
}

body.single-kitayo_sale .sale-overview-card__nav a {
  color: var(--sale-blue);
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

body.single-kitayo_sale .sale-overview-card__nav a::after {
  content: " ↓";
}

body.single-kitayo_sale .airline-logo-directory--compact {
  padding: 48px 0 52px;
  border-top: 1px solid #e5ebef;
  background: #f8fafb;
}

body.single-kitayo_sale .airline-logo-directory--compact > .container {
  width: min(1120px, calc(100% - 40px));
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__header {
  margin-bottom: 20px;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__header h2 {
  color: var(--sale-navy);
  font-size: 24px;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__header > p {
  color: var(--sale-muted);
  font-size: 13px;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__item {
  display: flex;
  min-width: 0;
  min-height: 108px;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 12px 9px;
  border: 1px solid var(--sale-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__item:hover {
  border-color: #bdd6e7;
  box-shadow: var(--sale-shadow-soft);
  transform: translateY(-2px);
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__visual {
  width: 100%;
  height: 52px;
}

body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__visual img {
  width: 100%;
  height: 100%;
  max-width: 104px;
  max-height: 38px;
  object-fit: contain;
}

body.single-kitayo_sale .airline-logo-directory__name {
  display: block;
  max-width: 100%;
  color: #475f6e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  overflow-wrap: anywhere;
}

body.single-kitayo_sale .airline-logo-directory__more {
  margin-top: 18px;
}

body.single-kitayo_sale .airline-logo-directory__more-toggle {
  display: flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 9px 18px;
  cursor: pointer;
  list-style: none;
  border: 1px solid #b9d3e4;
  border-radius: 999px;
  color: var(--sale-blue);
  background: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}

body.single-kitayo_sale .airline-logo-directory__more-toggle::-webkit-details-marker {
  display: none;
}

body.single-kitayo_sale .airline-logo-directory__more-toggle::after {
  margin-left: 8px;
  content: "+";
  font-size: 18px;
  line-height: 1;
}

body.single-kitayo_sale .airline-logo-directory__more[open] .airline-logo-directory__more-toggle::after {
  content: "−";
}

body.single-kitayo_sale .airline-logo-directory__more-toggle:focus-visible {
  outline: 3px solid #8dccff;
  outline-offset: 2px;
}

body.single-kitayo_sale .airline-logo-directory__more-close,
body.single-kitayo_sale .airline-logo-directory__more[open] .airline-logo-directory__more-open {
  display: none;
}

body.single-kitayo_sale .airline-logo-directory__more[open] .airline-logo-directory__more-close {
  display: inline;
}

body.single-kitayo_sale .airline-logo-directory__grid--more {
  margin-top: 16px;
}

body.single-kitayo_sale .airline-logo-directory__more:not([open]) > .airline-logo-directory__grid--more {
  display: none !important;
}

body.single-kitayo_sale .site-footer.site-footer--sale-detail {
  padding: 50px 0 24px;
  color: #d8e3ea;
  background: #10283a;
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__inner--detailed {
  display: grid !important;
  width: min(1120px, calc(100% - 40px)) !important;
  grid-template-columns: 1.35fr .75fr 1.15fr !important;
  align-items: start !important;
  gap: 44px !important;
}

body.single-kitayo_sale .site-footer--sale-detail p,
body.single-kitayo_sale .site-footer--sale-detail a {
  color: #d8e3ea;
  font-size: 13px;
  line-height: 1.75;
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__brand strong {
  color: #fff;
  font-size: 21px;
  font-weight: 850;
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__heading {
  margin: 0 0 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 850;
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__nav ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.single-kitayo_sale .site-footer--sale-detail a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  text-underline-offset: 3px;
}

body.single-kitayo_sale .site-footer--sale-detail a:hover,
body.single-kitayo_sale .site-footer--sale-detail a:focus-visible {
  color: #fff;
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__legal {
  display: flex;
  width: min(1120px, calc(100% - 40px));
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

body.single-kitayo_sale .site-footer--sale-detail .site-footer__legal p {
  margin: 0;
}

@media (min-width: 1025px) {
  body.single-kitayo_sale .sale-detail-layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
    grid-template-areas:
      "media aside"
      "body aside";
    gap: clamp(24px, 2.65vw, 32px);
  }

  body.single-kitayo_sale .sale-overview-card {
    position: sticky;
    top: 92px;
  }

  body.admin-bar.single-kitayo_sale .sale-overview-card {
    top: 124px;
  }

  body.single-kitayo_sale .sale-detail-page .sale-summary--primary,
  body.single-kitayo_sale .sale-detail-page .sale-fares__official-cta {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  body.single-kitayo_sale .sale-detail-page__container {
    max-width: 820px;
  }

  body.single-kitayo_sale .sale-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "media"
      "aside"
      "body";
    gap: 24px;
  }

  body.single-kitayo_sale .sale-detail-primary {
    display: block;
  }

  body.single-kitayo_sale .sale-overview-card {
    position: static;
  }

  body.single-kitayo_sale .sale-detail-page .sale-fares__official-cta {
    display: none;
    margin: 16px 0 0;
  }

  body.single-kitayo_sale .sale-detail-page .sale-fares__official-cta a {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 11px;
    color: #fff;
    background: var(--sale-blue);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.single-kitayo_sale .sale-detail-page .sale-summary--primary {
    display: none;
  }
}

@media (max-width: 782px) {
  body.admin-bar.single-kitayo_sale .site-header.site-header--sale-detail {
    top: 46px !important;
  }
}

@media (max-width: 768px) {
  body.single-kitayo_sale .site-header.site-header--sale-detail {
    position: sticky !important;
    top: 0 !important;
    min-height: 56px !important;
    background: rgba(255, 255, 255, .98) !important;
  }

  body.admin-bar.single-kitayo_sale .site-header.site-header--sale-detail {
    top: 46px !important;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__inner {
    display: block !important;
    width: calc(100% - 32px) !important;
    min-height: 56px !important;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__brand-row {
    min-height: 56px !important;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-brand {
    min-height: 44px;
    gap: 8px;
    color: var(--sale-navy) !important;
    font-size: 19px !important;
  }

  body.single-kitayo_sale .site-brand__mark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 9px;
  }

  body.single-kitayo_sale .site-brand__mark svg {
    width: 23px;
    height: 23px;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-header__menu-row,
  body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav.site-nav--primary,
  body.single-kitayo_sale .site-header.site-header--sale-detail .site-nav__list {
    display: none !important;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu {
    display: block;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu__toggle {
    color: var(--sale-navy);
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu__toggle:hover,
  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu__toggle:focus-visible,
  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu[open] .site-mobile-menu__toggle {
    background: #edf5fa;
  }

  body.single-kitayo_sale .site-header.site-header--sale-detail .site-mobile-menu__toggle:focus-visible {
    outline: 3px solid #8dccff;
    outline-offset: -3px;
  }

  body.single-kitayo_sale .sale-detail-page {
    padding: 18px 0 44px;
  }

  body.single-kitayo_sale #sale-fares-title,
  body.single-kitayo_sale #sale-detail-content,
  body.admin-bar.single-kitayo_sale #sale-fares-title,
  body.admin-bar.single-kitayo_sale #sale-detail-content {
    scroll-margin-top: 72px;
  }

  body.single-kitayo_sale .sale-detail-layout {
    gap: 22px;
  }

  body.single-kitayo_sale .sale-overview-card {
    padding: 16px;
    border-radius: 14px;
    box-shadow: 0 5px 18px rgba(22, 48, 66, .06);
  }

  body.single-kitayo_sale .sale-overview-card__top {
    margin-bottom: 12px;
    padding-bottom: 10px;
  }

  body.single-kitayo_sale .sale-overview-card h2 {
    font-size: 18px;
  }

  body.single-kitayo_sale .sale-overview-card__price {
    margin-bottom: 14px;
  }

  body.single-kitayo_sale .sale-overview-card__price strong {
    font-size: clamp(28px, 8vw, 32px);
  }

  body.single-kitayo_sale .sale-overview-card__facts,
  body.single-kitayo_sale .sale-overview-card__trust,
  body.single-kitayo_sale .sale-overview-card__note,
  body.single-kitayo_sale .sale-overview-card__nav {
    display: none;
  }

  body.single-kitayo_sale .sale-overview-card__cta {
    min-height: 52px;
    font-size: 14px;
  }

  body.single-kitayo_sale .sale-detail-page__container {
    width: calc(100% - 32px);
  }

  body.single-kitayo_sale .sale-breadcrumb {
    margin-bottom: 16px;
    font-size: 11px;
  }

  body.single-kitayo_sale .sale-breadcrumb li:nth-child(2) {
    display: none;
  }

  body.single-kitayo_sale .sale-breadcrumb li:nth-child(1)::after {
    content: "/";
  }

  body.single-kitayo_sale .sale-detail-page .entry-header h1 {
    order: 1;
    font-size: clamp(22px, 6.15vw, 24px) !important;
    line-height: 1.4 !important;
  }

  body.single-kitayo_sale .entry-header__airline-row {
    order: 0;
    margin-bottom: 9px;
  }

  body.single-kitayo_sale .entry-airline__logo {
    width: 64px;
    height: 30px;
  }

  body.single-kitayo_sale .sale-detail-page .entry-meta {
    order: 2;
    margin-top: 10px;
    font-size: 12.5px !important;
  }

  body.single-kitayo_sale .sale-detail-page .entry-featured-image > img,
  body.single-kitayo_sale .sale-detail-page .entry-featured-image > picture img {
    aspect-ratio: auto;
    object-fit: contain !important;
  }

  body.single-kitayo_sale .sale-detail-page .sale-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  body.single-kitayo_sale .sale-detail-page .sale-fares__official-cta {
    display: block;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr.is-lowest-fare {
    border-color: #a9d4ee;
    background: #f4faff;
  }

  body.single-kitayo_sale .sale-detail-page .fare-lowest-badge {
    margin-left: 5px;
  }

  body.single-kitayo_sale .sale-detail-page .entry-content {
    font-size: 15.5px;
  }

  body.single-kitayo_sale .sale-detail-page .entry-content h2 {
    margin: 28px 0 0;
    padding: 16px 16px 9px;
    border: 1px solid var(--sale-line);
    border-bottom: 0;
    border-radius: 14px 14px 0 0;
    background: #fff;
    font-size: 20px;
  }

  body.single-kitayo_sale .sale-detail-page .entry-content h2 + ul,
  body.single-kitayo_sale .sale-detail-page .entry-content h2 + ol,
  body.single-kitayo_sale .sale-detail-page .entry-content h2 + p {
    margin-top: 0;
    padding: 5px 16px 16px;
    border-top: 0;
    border-radius: 0 0 14px 14px;
  }

  body.single-kitayo_sale .sale-detail-page .entry-content h2 + ul,
  body.single-kitayo_sale .sale-detail-page .entry-content h2 + ol {
    padding-left: 38px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact {
    padding: 22px 0 26px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact > .container {
    width: calc(100% - 32px);
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__header h2 {
    font-size: 18px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__header > p {
    font-size: 11.5px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__item {
    min-height: 52px;
    gap: 0;
    padding: 5px 4px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__visual {
    height: 40px;
  }

  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__visual img {
    max-width: 70px;
    max-height: 28px;
  }

  body.single-kitayo_sale .airline-logo-directory__name {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  body.single-kitayo_sale .airline-logo-directory__more {
    margin-top: 12px;
  }

  body.single-kitayo_sale .airline-logo-directory__more-toggle {
    min-height: 44px;
    font-size: 12px;
  }

  body.single-kitayo_sale .site-footer.site-footer--sale-detail {
    padding: 36px 0 22px;
  }

  body.single-kitayo_sale .site-footer--sale-detail .site-footer__inner--detailed {
    width: calc(100% - 32px) !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  body.single-kitayo_sale .site-footer--sale-detail .site-footer__legal {
    width: calc(100% - 32px);
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    margin-top: 25px;
  }

  body.single-kitayo_sale .site-footer--sale-detail p,
  body.single-kitayo_sale .site-footer--sale-detail a {
    font-size: 13px;
  }

  body.single-kitayo_sale .site-footer--sale-detail a {
    min-height: 44px;
  }
}

@media (max-width: 360px) {
  body.single-kitayo_sale .airline-logo-directory--compact .airline-logo-directory__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-kitayo_sale .fare-table tbody tr,
  body.single-kitayo_sale .airline-logo-directory__item,
  body.single-kitayo_sale .sale-overview-card__cta {
    transition: none !important;
  }

  body.single-kitayo_sale .airline-logo-directory__item:hover,
  body.single-kitayo_sale .sale-overview-card__cta:hover {
    transform: none !important;
  }
}

/* Keep the established mobile fare cards intact after the desktop layer above. */
@media (max-width: 768px) {
  body.single-kitayo_sale .sale-detail-page .entry-featured-image {
    margin-bottom: 0;
  }

  body.single-kitayo_sale .sale-detail-page .sale-summary__item {
    min-height: 88px !important;
    padding: 13px 12px !important;
  }

  body.single-kitayo_sale .sale-detail-page .sale-summary dt {
    font-size: 11.5px;
    line-height: 1.3;
  }

  body.single-kitayo_sale .sale-detail-page .sale-summary dd {
    min-height: 44px;
    margin-top: 0;
    font-size: 15px;
    line-height: 1.45;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table-wrap {
    margin: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
    box-shadow: none !important;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table,
  body.single-kitayo_sale .sale-detail-page .fare-table tbody {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table colgroup {
    display: none;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table tbody {
    display: grid;
    gap: 12px;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr,
  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:nth-child(even),
  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:hover {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "route type"
      "price price"
      "period period";
    gap: 9px 10px;
    padding: 16px;
    border: 1px solid #dfe7ed;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(28, 61, 81, .06);
  }

  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr.is-lowest-fare {
    border-color: #a9d4ee;
    background: #f4faff;
  }

  body.single-kitayo_sale .sale-detail-page .fare-table td,
  body.single-kitayo_sale .sale-detail-page .fare-table tbody tr:last-child td {
    display: block;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    line-height: 1.45;
    white-space: normal !important;
  }

  body.single-kitayo_sale .sale-detail-page .fare-route {
    grid-area: route;
    align-self: center;
    color: #213d50;
    font-size: 16px;
    font-weight: 750;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .sale-detail-page .fare-type {
    grid-area: type;
    align-self: start;
    justify-self: end;
  }

  body.single-kitayo_sale .sale-detail-page .fare-type__badge {
    min-height: 24px;
    padding: 3px 8px;
    font-size: 11.5px;
    line-height: 1;
  }

  body.single-kitayo_sale .sale-detail-page .fare-price {
    grid-area: price;
    color: var(--sale-blue-bright);
    font-weight: 850;
    text-align: left;
    letter-spacing: -.025em;
    white-space: normal;
  }

  body.single-kitayo_sale .sale-detail-page .fare-price__amount {
    font-size: clamp(28px, 8.2vw, 32px);
    line-height: 1.12;
  }

  body.single-kitayo_sale .sale-detail-page .fare-price__suffix {
    margin-left: 2px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
  }

  body.single-kitayo_sale .sale-detail-page .fare-period {
    display: flex !important;
    grid-area: period;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
    color: #566d7c;
    font-size: 13px;
    line-height: 1.5;
  }

  body.single-kitayo_sale .sale-detail-page .fare-period__label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    color: #5b6f7c;
    font-size: 11.5px;
    font-weight: 750;
  }

  body.single-kitayo_sale .sale-detail-page .fare-period__value {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  body.single-kitayo_sale .sale-detail-page .sale-fares__official-cta a {
    min-height: 54px;
    border: 1px solid var(--sale-blue-bright);
    border-radius: 12px;
    background: var(--sale-blue);
    box-shadow: 0 7px 18px rgba(22, 135, 232, .2);
    font-size: clamp(14px, 4vw, 15.5px);
  }
}
