/* 英語サイト（/en/）専用 CSS（2026-10-08・Figma「ツォクト様_英語向けLP」）
   英語のページだけで読み込む（inc/en-site.php）。日本語のページには一切出ない。
   ブレークポイントは日本語サイトと同じ 768px（SP）／990px（タブレット）。 */

:root {
  --en-primary: #044b98;
  --en-primary-10: #e5edf5;
  --en-primary-5: #f5fafe;
  --en-accent: #c62728;
  --en-gray90: #333;
  --en-gray60: #757575;
  --en-gray40: #bdbdbd;
  --en-gray20: #eee;
  --en-gray5: #fafafa;
  --en-yellow: #feffc8;
  --en-yellow-2: #feffd3;
  --en-badge: #f3fc7d;
  --en-navy: #103a58;
  --en-wa: #06c655;
  --en-shadow: 0 4px 20px rgba(0, 0, 0, .12);
  --en-inner: 1080px;
}

/* ───── 基本 ───── */
.en-site { margin: 0; color: var(--en-gray90); background: #fff; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; -webkit-text-size-adjust: 100%; }
/* ページ内リンクの飛び先が固定ヘッダー（60px）の下に隠れないように */
:where(.en-site) [id] { scroll-margin-top: 72px; }
/* 土台のリセットは :where() で詳細度 0（各部品のクラス指定が必ず勝つように） */
:where(.en-site) *, :where(.en-site) *::before, :where(.en-site) *::after { box-sizing: border-box; }
:where(.en-site) img { max-width: 100%; height: auto; vertical-align: middle; }
:where(.en-site) a { color: inherit; }
:where(.en-site) :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) { margin: 0; padding: 0; }
:where(.en-site) :where(ul, ol) { list-style: none; }
:where(.en-site) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.en-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.en-inner { width: 100%; max-width: calc(var(--en-inner) + 48px); margin-inline: auto; padding-inline: 24px; }
.en-inner--narrow { max-width: 940px; }
.en-inner--md { max-width: 912px; }
.en-inner--form { max-width: 748px; }
.en-main { display: block; overflow-x: hidden; overflow-x: clip; } /* clip 非対応（Safari 15 以前）は hidden */
.en-section { padding-block: 80px; }
.en-muted { display: block; color: var(--en-gray60); font-size: 12px; }
.en-lead { text-align: center; font-size: 24px; margin: -26px 0 40px; }
.en-lead--lg { font-size: 24px; }

/* 見出し */
.en-h2 { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 50px; font-size: 36px; font-weight: 700; line-height: 1.5; text-transform: uppercase; text-align: center; }
.en-h2__icon { display: inline-flex; flex-shrink: 0; }
.en-h2--plain { text-transform: none; font-size: 32px; }
.en-h2--blue { color: var(--en-primary); }
.en-h2--left { justify-content: flex-start; margin-bottom: 0; }

/* ボタン */
.en-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 8px 8px 8px 24px; border-radius: 100px; font-weight: 700; font-size: 16px; line-height: 1.5; text-decoration: none; border: 2px solid transparent; transition: opacity .2s, filter .2s; }
.en-btn span { flex: 1; text-align: center; }
.en-btn img { flex-shrink: 0; }
.en-btn:hover { filter: brightness(1.08); }
.en-btn--red { background: var(--en-accent); border-color: var(--en-accent); color: #fff !important; }
.en-btn--blue { background: var(--en-primary); border-color: var(--en-primary); color: #fff !important; }
.en-btn--outline { background: #fff; border-color: var(--en-primary); color: var(--en-primary) !important; }
.en-btn--wa { background: var(--en-wa); border-color: var(--en-wa); color: #fff !important; padding-left: 20px; }
.en-btn--lg { width: 300px; min-height: 62px; padding: 16px 14px 16px 24px; }
.en-btn--sm { min-height: 46px; padding: 6px 8px 6px 18px; font-size: 16px; }
.en-btn--xs { min-height: 37px; padding: 4px 6px 4px 14px; font-size: 14px; }
.en-btn--block { display: flex; width: 100%; min-height: 62px; }
.en-link { color: var(--en-primary) !important; text-decoration: underline; font-weight: 500; }
.en-link--ext { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }

/* 価格 */
.en-price { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; font-weight: 700; }
.en-price__num { color: var(--en-accent); }
.en-price__unit { font-size: 16px; color: var(--en-gray90); }
.en-price--card .en-price__num { font-size: 24px; }
.en-price--row { justify-content: center; }
.en-price--row .en-price__num { font-size: 24px; }
.en-price--hero { align-items: center; }
.en-price--hero .en-price__from { color: var(--en-accent); font-size: 20px; }
.en-price--hero .en-price__num { font-size: 46px; line-height: 1.2; }

/* チェックリスト */
.en-checks { display: grid; gap: 8px; }
.en-checks li { display: flex; align-items: flex-start; gap: 6px; font-size: 14px; font-weight: 500; }
.en-checks li img { margin-top: 2px; flex-shrink: 0; }
.en-checks--3col { grid-template-columns: repeat(3, 1fr); gap: 12px 24px; }
.en-checks__link { padding-left: 24px; }
.en-dots { display: inline-block; text-align: left; }
.en-dots li { position: relative; padding-left: 14px; font-weight: 700; }
.en-dots li::before { content: ""; position: absolute; left: 2px; top: .65em; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.en-dots--row { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.en-dots--row li { font-weight: 500; }

/* ───── ヘッダー ───── */
.en-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .15); }
body.admin-bar .en-header { top: 32px; }
.en-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1440px; margin-inline: auto; height: 60px; padding-inline: 80px; }
.en-logo { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: var(--en-primary) !important; flex-shrink: 0; }
.en-logo__crest { width: 51px; height: auto; }
.en-logo__text { display: flex; flex-direction: column; line-height: 1; }
.en-logo__name { font-size: 32px; font-weight: 900; letter-spacing: 1.5px; }
.en-logo__sub { font-size: 7.7px; font-weight: 700; letter-spacing: 1.5px; margin-top: 2px; }
.en-nav { display: flex; align-items: center; gap: 32px; }
.en-nav__list { display: flex; align-items: center; gap: 32px; }
.en-nav__list > li > a, .en-nav__sub-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; text-decoration: none; color: var(--en-gray90); white-space: nowrap; }
.en-nav__list > li > a:hover, .en-nav__sub-toggle:hover { color: var(--en-primary); }
.en-nav__has-sub { position: relative; }
.en-nav__sub { position: absolute; top: calc(100% + 18px); left: -16px; min-width: 330px; padding: 8px 0; background: #fff; border-radius: 10px; box-shadow: var(--en-shadow); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: .2s; }
.en-nav__sub a { display: block; padding: 12px 20px; font-size: 15px; font-weight: 500; text-decoration: none; }
.en-nav__sub a:hover { background: var(--en-primary-10); color: var(--en-primary); }
.en-nav__has-sub.is-open .en-nav__sub { opacity: 1; visibility: visible; transform: none; }
.en-nav__chev { width: 12px; transition: transform .2s; }
.en-nav__has-sub.is-open .en-nav__chev { transform: rotate(180deg); }
.en-header__toggle { display: none; }

/* パンくず */
.en-breadcrumb { background: var(--en-gray20); }
.en-breadcrumb__list { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; max-width: 1440px; margin-inline: auto; padding: 6px 120px; font-size: 14px; }
.en-breadcrumb__list li + li::before { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 14px 2px 12px; border-top: 1.5px solid var(--en-gray90); border-right: 1.5px solid var(--en-gray90); transform: rotate(45deg); }
.en-breadcrumb a { text-decoration: none; }
.en-breadcrumb a:hover { text-decoration: underline; }

/* ページ見出し（お問い合わせ等） */
.en-pagehead { background: var(--en-primary-5); padding: 52px 24px; text-align: center; }
.en-pagehead__title { font-size: 36px; font-weight: 700; }
.en-page__body { padding-block: 60px; }

/* ───── トップ：ファーストビュー ───── */
.en-fv { position: relative; height: 800px; overflow: hidden; color: #fff; }
.en-fv__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.en-fv__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 40px; max-width: 1000px; margin: 0 auto; padding: 206px 24px 0; text-align: center; text-shadow: 0 0 15px rgba(4, 75, 152, .6); }
.en-fv__title { font-size: 56px; font-weight: 700; line-height: 1.2; }
.en-fv__text { font-size: 24px; font-weight: 700; line-height: 1.5; margin-top: -20px; max-width: 900px; }
.en-fv__badges { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.en-fv__list { display: flex; gap: 24px; }
.en-fv__badge { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .5), rgba(120, 150, 180, .55)); border: 1.5px solid rgba(255, 255, 255, .7); backdrop-filter: blur(2px); font-weight: 700; line-height: 1.1; text-shadow: none; }
.en-fv__badge::before, .en-fv__badge::after { content: ""; position: absolute; left: 50%; width: 42px; height: 18px; transform: translateX(-50%); background: url(../images/en/svg/laurel.svg) no-repeat center / 42px 123px; opacity: .9; }
.en-fv__badge::before { top: 8px; background-position: center top; }
.en-fv__badge::after { bottom: 8px; background-position: center bottom; }
.en-fv__badge-top, .en-fv__badge-bottom { font-size: 15px; }
.en-fv__badge-num { font-size: 33px; letter-spacing: -.5px; }
.en-fv__badge-num small { font-size: 22px; }
.en-fv__badge-num--max { font-size: 38px; }
.en-fv__badge-num--max small { font-size: 22px; margin-right: 4px; }
.en-fv__badge-num .en-fv__of { font-size: 20px; font-weight: 500; margin-left: 2px; }
.en-fv__note { font-size: 9px; font-weight: 500; text-shadow: none; }

/* 理由 */
.en-reasons__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 60px; }
.en-reasons__item { display: flex; flex-direction: column; align-items: center; text-align: center; }
.en-reasons__img { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; margin-bottom: 30px; }
.en-reasons__title { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.en-reasons__text { font-size: 16px; color: var(--en-gray90); }

/* About */
.en-about { position: relative; padding-block: 120px 80px; overflow: hidden; }
.en-about__mark { position: absolute; right: -177px; top: 9px; width: 737px; height: 737px; opacity: .55; pointer-events: none; }
.en-about__row { position: relative; display: grid; grid-template-columns: minmax(0, 700px) minmax(0, 500px); gap: 61px; max-width: 1440px; margin: 0 auto; padding-right: 179px; }
.en-about__photo { height: 465px; border-radius: 0 20px 20px 0; overflow: hidden; }
.en-about__photo img { width: 100%; height: 100%; object-fit: cover; }
.en-about__body { padding-top: 40px; }
.en-about__title { font-size: 36px; font-weight: 700; margin-bottom: 24px; }
.en-about__text { font-size: 16px; font-weight: 500; line-height: 1.5; }
.en-marquee { position: relative; margin-top: -100px; overflow: hidden; }
.en-marquee__track { display: flex; gap: 34px; width: max-content; animation: en-marquee 60s linear infinite; }
.en-marquee__track img { width: 286px; height: 190px; object-fit: cover; border-radius: 20px; }
@keyframes en-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .en-marquee__track { animation: none; } }

/* Why Tsogto */
.en-why__slider { margin-inline: -24px; padding-inline: 24px; }
.en-why .splide__track { overflow: visible; }
.en-why { overflow: hidden; }
.en-why__card { height: auto; padding: 0 16px 20px; border-radius: 20px; background: var(--en-primary-5); }
.en-why__img { display: block; width: 100%; height: 240px; object-fit: contain; object-position: center bottom; }
.en-why__title { margin: 14px 0 8px; font-size: 24px; font-weight: 700; }
.en-why__text { font-size: 16px; margin-bottom: 8px; }
.en-why .splide__pagination { position: static; margin-top: 40px; gap: 16px; }
.en-why .splide__pagination__page { width: 10px; height: 10px; margin: 0; background: #b7b7b7; opacity: 1; }
.en-why .splide__pagination__page.is-active { background: var(--en-primary); transform: none; }

/* ツアー一覧（黄色） */
.en-lineup { background: var(--en-yellow); }
.en-lineup .en-h2 { margin-bottom: 20px; }
.en-lineup__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px; margin-top: 50px; }
.en-card { display: flex; flex-direction: column; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: var(--en-shadow); }
.en-card__media img { display: block; width: 100%; height: 218px; object-fit: cover; }
.en-card__body { position: relative; display: flex; flex-direction: column; flex: 1; padding: 12px 12px 12px; }
.en-badge { position: relative; align-self: flex-start; margin: -30px 0 8px; padding: 2px 16px; border: 1.5px solid var(--en-primary); border-radius: 100px; background: var(--en-badge); color: var(--en-primary); font-size: 14px; font-weight: 700; }
.en-badge::after { content: ""; position: absolute; left: 40px; bottom: -9px; border: 5px solid transparent; border-top: 6px solid var(--en-primary); border-bottom: 0; }
.en-card__title { font-size: 20px; font-weight: 700; line-height: 1.5; margin-bottom: 20px; min-height: 60px; }
.en-card__title a { text-decoration: none; }
.en-card__info { display: grid; gap: 8px; margin-bottom: 14px; font-size: 14px; }
.en-card__info div { display: flex; align-items: center; gap: 8px; }
.en-card__info dt { width: 122px; flex-shrink: 0; padding: 0 4px; background: var(--en-primary-10); color: var(--en-primary); text-align: center; border-radius: 2px; }
.en-card__price-label { font-size: 12px; color: var(--en-gray60); }
.en-card .en-price { margin-bottom: 14px; }
.en-card .en-btn { margin-top: auto; min-height: 49px; }
.en-card--wide { flex-direction: row; }
.en-card--wide .en-card__media { width: 540px; flex-shrink: 0; }
.en-card--wide .en-card__media img { height: 100%; min-height: 346px; }
.en-card--wide .en-card__body { padding: 24px; }
.en-card--wide .en-badge { margin-top: 0; }
.en-card--wide .en-card__title { min-height: 0; margin-bottom: 40px; }

/* 吹き出し（乗馬レベルの説明） */
.en-tip { position: relative; display: inline-flex; justify-content: center; }
.en-lineup .en-tip, .en-tourlist .en-tip { display: flex; }
.en-tip__btn { display: inline-flex; align-items: center; gap: 8px; color: var(--en-primary); font-weight: 500; font-size: 16px; }
.en-tip__btn--icon { gap: 0; vertical-align: middle; }
.en-tip__box { position: absolute; z-index: 30; top: calc(100% + 12px); left: 50%; width: 540px; max-width: calc(100vw - 32px); transform: translateX(-50%); padding: 20px 24px; border-radius: 12px; background: rgba(51, 51, 51, .95); color: #fff; font-size: 14px; line-height: 1.5; text-align: left; box-shadow: var(--en-shadow); }
.en-tip__box[hidden] { display: none; }
.en-tip__title { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.en-tip__box li { position: relative; padding-left: 14px; margin-bottom: 8px; }
.en-tip__box li::before { content: "•"; position: absolute; left: 0; }
.en-tip__note { margin-top: 6px; }

/* 比較表（トップ） */
.en-compare__scroll { overflow-x: auto; }
.en-compare__table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.en-compare__table th, .en-compare__table td { padding: 14px 20px; text-align: center; vertical-align: middle; font-size: 16px; }
.en-compare__corner { width: 33.33%; }
.en-compare__head { padding: 0 20px 20px !important; vertical-align: bottom !important; text-align: left !important; }
.en-compare__head a { display: block; color: var(--en-primary) !important; font-size: 20px; font-weight: 700; text-decoration: none; }
.en-compare__head img { width: 100%; height: 213px; object-fit: cover; border-radius: 20px; margin-bottom: 14px; }
.en-compare__table tbody th { background: #f2f2f2; text-align: left; }
.en-compare__table tbody tr + tr th, .en-compare__table tbody tr + tr td { border-top: 1px solid #e3e3e3; }
.en-compare__table tbody tr:first-child th { border-top-left-radius: 20px; }
.en-compare__table tbody tr:last-child th { border-bottom-left-radius: 20px; }
.en-compare__label { display: flex; align-items: center; gap: 10px; color: var(--en-primary); font-size: 20px; font-weight: 700; }
.en-compare__label img { width: 32px; height: 32px; object-fit: contain; }
.en-compare__table tfoot td { padding-top: 16px; }
.en-compare__map { width: 216px; }
.en-km { display: block; font-size: 14px; }
.en-km__num { font-size: 24px; font-weight: 700; margin-right: 2px; }
.en-km__num--xl { font-size: 40px; }
.en-km--total { margin-top: 10px; padding-top: 10px; border-top: 1px dashed #c9c9c9; }
.en-big { font-size: 24px; font-weight: 700; }

/* 1日の流れ（共通カード） */
.en-day { margin-bottom: 24px; border-radius: 10px; background: var(--en-gray5); box-shadow: 0 4px 10px rgba(0, 0, 0, .15); overflow: hidden; }
.en-day__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 24px 0; }
.en-day__title { font-size: 32px; font-weight: 700; }
.en-day__title b { font-size: 32px; }
.en-itinerary .en-day__title { font-size: 24px; }
.en-day__toggle { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; border: 2px solid var(--en-primary); border-radius: 100px; background: #fff; color: var(--en-primary); font-size: 16px; font-weight: 700; }
.en-day__toggle img { transform: rotate(180deg); transition: transform .2s; }
.en-day__toggle-open { display: none; }
.en-day:not(.is-open) .en-day__toggle-open { display: inline; }
.en-day:not(.is-open) .en-day__toggle-close { display: none; }
.en-day:not(.is-open) .en-day__toggle img { transform: none; }
.en-day__body { padding: 24px; }
.en-day:not(.is-open) .en-day__body { display: none; }
/* 日程の閉じた日＝青い帯（Figma） */
.en-itinerary .en-day:not(.is-open) { background: var(--en-primary); }
.en-itinerary .en-day:not(.is-open) .en-day__head { padding-bottom: 24px; color: #fff; }
.en-itinerary .en-day:not(.is-open) .en-day__toggle { background: transparent; border-color: transparent; color: #fff; }
.en-itinerary .en-day:not(.is-open) .en-day__toggle img { filter: brightness(0) invert(1); }
.en-day__overview { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-bottom: 16px; font-size: 16px; }
.en-day__overview div { display: flex; align-items: center; gap: 8px; }
.en-day__overview dt { padding: 0 8px; background: var(--en-primary-10); color: var(--en-primary); border-radius: 2px; }
.en-day__facilities { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 24px; font-size: 16px; color: var(--en-gray60); }
.en-day__facilities li { display: inline-flex; border: 1px solid var(--en-gray20); border-radius: 2px; overflow: hidden; }
.en-day__facilities li span { padding: 0 8px; }
.en-day__facilities li span:first-child { background: #f3f3f3; }
.en-timeline__item { position: relative; display: grid; grid-template-columns: 316px 140px minmax(0, 1fr); gap: 0 16px; padding-bottom: 16px; }
.en-timeline__item::before { content: ""; position: absolute; left: 476px; top: 20px; bottom: 0; width: 1px; background: #bdbdbd; }
.en-timeline__item::after { content: ""; position: absolute; left: 470px; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: #bdbdbd; }
.en-timeline__media img { width: 316px; height: 236px; object-fit: cover; border-radius: 20px; }
.en-timeline__item.is-text .en-timeline__media { height: 0; }
.en-timeline__time { font-size: 20px; font-weight: 700; text-align: center; line-height: 1.2; padding-right: 16px; }
.en-timeline__text { padding-left: 32px; font-size: 16px; }
.en-itinerary .en-timeline__item { grid-template-columns: 316px 140px minmax(0, 1fr); }
.en-timeline__text p + p, .en-timeline__text .en-pickup + p { margin-top: 12px; }

/* 含む・含まない（トップ） */
.en-included { padding-bottom: 80px; }
.en-included__row { display: grid; grid-template-columns: 695px 1fr; gap: 48px; align-items: start; }
.en-included__box { padding: 32px; border-radius: 10px; background: var(--en-yellow-2); }
.en-included__box--not { background: #bdbdbd; }
.en-included__title, .en-side-title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 24px; font-weight: 700; }
.en-included .en-checks li { font-size: 16px; }
.en-included__box--not .en-link { margin: 10px 0 0 24px; }

/* Safety */
.en-safety { background: var(--en-primary-10); }
.en-safety__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 60px; }
.en-safety__item { text-align: center; }
.en-safety__icon { display: inline-block; margin-bottom: 30px; border-radius: 50%; }
.en-safety__title { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.en-safety__text { font-size: 16px; }

/* Blog */
.en-blog { background: var(--en-gray5); overflow: hidden; }
.en-blog__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 50px; }
.en-blog__arrows { display: flex; gap: 21px; }
.en-blog .splide__track { overflow: visible; }
.en-blog__item { display: block; text-decoration: none; }
.en-blog__item img { width: 100%; aspect-ratio: 240 / 158; object-fit: cover; border-radius: 20px; }
.en-blog__date { display: block; margin-top: 12px; color: var(--en-primary); font-size: 12px; }
.en-blog__title { display: block; margin-top: 8px; font-size: 18px; font-weight: 700; line-height: 1.5; }

/* CTA */
.en-cta { position: relative; height: 600px; overflow: hidden; color: #fff; }
.en-cta__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.en-cta__inner { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; height: 100%; padding-top: 160px; }
.en-cta__title { font-size: 36px; font-weight: 700; line-height: 1.5; text-shadow: 0 0 10px rgba(0, 0, 0, .25); }
.en-cta__text { max-width: 580px; margin: 24px 0; font-size: 18px; }
.en-cta__cards { display: grid; gap: 20px; width: 300px; flex-shrink: 0; }
.en-cta__card { position: relative; display: flex; align-items: center; justify-content: center; height: 120px; border-radius: 20px; overflow: hidden; text-align: center; text-decoration: none; font-weight: 700; color: #fff !important; box-shadow: var(--en-shadow); }
.en-cta__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.75); }
.en-cta__card > span { position: relative; text-shadow: 0 0 6px rgba(0, 0, 0, .5); }
.en-cta__arrow { display: block; }

/* Commitment */
.en-commit { position: relative; padding-bottom: 40px; background: linear-gradient(var(--en-yellow-2), var(--en-yellow-2)) no-repeat 0 0 / 100% calc(100% - 159px); }
.en-commit .en-h2 { margin-bottom: 70px; }
.en-commit .en-h2 img { width: 80px; }
.en-commit__talent { display: grid; grid-template-columns: 1fr 442px; gap: 52px; align-items: start; margin: 0 -20px 140px 0; }
.en-commit__h3 { font-size: 36px; font-weight: 700; margin-bottom: 24px; }
.en-commit__h3--lg { font-size: 36px; line-height: 1.3; color: #000; }
.en-commit__talent-body > p { font-size: 16px; }
.en-awards { margin-top: 24px; padding: 20px; border-radius: 20px; background: #fff; font-size: 16px; }
.en-awards__title { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.en-awards li::before { content: "◆"; }
.en-commit__photo { width: 100%; border-radius: 20px; aspect-ratio: 442 / 384; object-fit: cover; }
.en-commit__nomad { display: grid; grid-template-columns: 500px 1fr; gap: 58px; align-items: start; margin-bottom: 100px; }
.en-commit__diagrams { display: grid; gap: 20px; }
.en-commit__nomad-body h4 { margin: 24px 0 6px; font-size: 20px; font-weight: 700; color: #000; }
.en-commit__nomad-body p { font-size: 16px; color: #000; }
.en-horses { position: relative; z-index: 1; text-align: center; }
.en-horses__title { display: inline-flex; align-items: center; gap: 24px; font-size: 36px; font-weight: 700; }
.en-horses__title::before, .en-horses__title::after { content: ""; width: 2px; height: 40px; background: var(--en-primary); transform: rotate(-20deg); }
.en-horses__title::after { transform: rotate(20deg); }
.en-horses__text { margin: 24px 0 40px; font-size: 16px; }
.en-horses__stage { position: relative; display: flex; justify-content: center; gap: 60px; height: 470px; }
.en-horses__horse { position: relative; display: flex; align-items: flex-end; }
.en-horses__horse--mn img { width: 326px; }
.en-horses__horse--tb img { width: 437px; }
.en-horses__horse figcaption { position: absolute; bottom: 110px; font-size: 20px; font-weight: 700; color: var(--en-navy); white-space: nowrap; }
.en-horses__horse--mn figcaption { right: calc(100% + 10px); }
.en-horses__horse--tb figcaption { left: calc(100% + 10px); font-size: 16px; font-weight: 500; }
.en-bubble { position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; text-align: center; }
.en-bubble--red { top: -24px; left: 170px; width: 210px; height: 210px; padding: 24px; background: var(--en-accent); font-size: 17px; font-weight: 700; }
.en-bubble--navy { top: 0; left: 50px; width: 150px; height: 150px; padding: 18px; background: var(--en-navy); font-size: 14px; }
.en-commit__edge { position: absolute; left: 0; bottom: 40px; z-index: 0; display: block; width: 100%; height: 120px; }

/* How we compare */
.en-vs__scroll { overflow-x: auto; padding-bottom: 8px; }
.en-vs__table { width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 16px; }
.en-vs__table th, .en-vs__table td { padding: 20px; text-align: center; vertical-align: middle; }
.en-vs__table thead th { color: var(--en-primary); font-size: 20px; font-weight: 500; }
.en-vs__table thead th.is-us { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 18px; border-radius: 6px 6px 0 0; background: var(--en-primary); color: #fff; font-size: 24px; font-weight: 700; }
.en-vs__table tbody th { color: var(--en-primary); font-size: 20px; font-weight: 700; }
.en-vs__table tbody th small { display: block; margin-top: 8px; color: var(--en-gray60); font-size: 14px; font-weight: 400; }
.en-vs__table tbody tr:nth-child(odd) th, .en-vs__table tbody tr:nth-child(odd) td { background: var(--en-gray5); }
.en-vs__table tbody tr:nth-child(odd) th { border-radius: 10px 0 0 10px; }
.en-vs__table tbody tr:nth-child(odd) td:last-child { border-radius: 0 10px 10px 0; }
.en-vs__table td.is-us { background: #fff !important; box-shadow: 4px 0 8px -4px rgba(0, 0, 0, .12), -4px 0 8px -4px rgba(0, 0, 0, .12); }
.en-vs__table tbody tr:nth-child(odd) td.is-us { background: var(--en-primary-5) !important; }
.en-vs__table tbody tr:last-child td.is-us { border-radius: 0 0 10px 10px; }
.en-vs__table small { display: block; margin-top: 4px; color: var(--en-gray60); font-size: 14px; }
.en-vs__table .is-red { color: var(--en-accent); }
.en-vs__table strong.is-lead { display: block; font-size: 20px; margin-bottom: 8px; }
.en-vs__table .is-big { font-size: 24px; }
.en-vs__table .is-mid { font-size: 20px; }

/* FAQ */
.en-faq__list { display: grid; gap: 20px; }
.en-faq__item { border-radius: 10px; background: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); }
.en-faq__q { display: flex; align-items: center; gap: 12px; padding: 10px 24px 10px 16px; font-weight: 700; cursor: pointer; list-style: none; }
.en-faq__q::-webkit-details-marker { display: none; }
.en-faq__q-text { flex: 1; }
.en-faq__mark { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--en-primary-10); color: var(--en-primary); font-weight: 700; }
.en-faq__mark--a { background: #fde9e9; color: var(--en-accent); }
.en-faq__pm { position: relative; width: 12px; height: 12px; flex-shrink: 0; }
.en-faq__pm::before, .en-faq__pm::after { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 2px; background: var(--en-primary); transition: transform .2s; }
.en-faq__pm::after { transform: rotate(90deg); }
details[open] > summary .en-faq__pm::after { transform: rotate(0); }
.en-faq__a { display: flex; gap: 12px; padding: 4px 24px 20px 16px; }
.en-faq__a p { font-size: 16px; padding-top: 4px; }

/* 予約の流れ */
.en-flow { position: relative; padding-block: 80px; background: #0d1840 url(../images/en/stars-bg.webp) center / cover no-repeat; }
.en-flow__title { margin-bottom: 54px; color: #fff; font-size: 36px; font-weight: 700; text-align: center; }
.en-flow__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 48px; }
.en-flow__item { position: relative; padding: 16px 20px 20px; border-radius: 20px; background: var(--en-primary-10); text-align: center; }
.en-flow__item.is-last { background: #f3f98b; }
.en-flow__item:not(.is-last)::after { content: ""; position: absolute; right: -36px; top: 50%; border: 15px solid transparent; border-left: 24px solid var(--en-accent); border-right: 0; transform: translateY(-50%); }
.en-flow__icon img { width: 90px; height: 90px; }
.en-flow__name { margin: 12px 0; color: var(--en-navy); font-size: 24px; font-weight: 700; line-height: 1.5; }
.en-flow__text { font-size: 16px; text-align: left; }
.en-flow__text small { display: block; margin-top: 4px; color: var(--en-gray60); font-size: 14px; }

/* フッター */
.en-footer { background: var(--en-primary-10); }
.en-footer__inner { display: flex; justify-content: space-between; gap: 40px; padding-block: 48px; }
.en-logo--footer .en-logo__crest { width: 66px; }
.en-logo--footer .en-logo__name { font-size: 42px; letter-spacing: 2px; }
.en-logo--footer .en-logo__sub { font-size: 10px; letter-spacing: 2px; }
.en-footer__address { margin: 40px 0; font-size: 16px; line-height: 1.6; }
.en-footer__operator { font-size: 18px; }
.en-sns { display: flex; align-items: center; gap: 28px; }
.en-sns__label { color: var(--en-primary); font-weight: 700; }
.en-footer__contact { display: flex; flex-direction: column; gap: 30px; width: 416px; align-items: flex-end; }
.en-footer__contact .en-btn { width: 335px; min-height: 62px; }
.en-tel { width: 335px; }
.en-tel__title { font-size: 14px; font-weight: 700; }
.en-tel__num { white-space: nowrap; display: flex; align-items: center; gap: 6px; font-size: 32px; font-weight: 700; line-height: 1.2; text-decoration: none; letter-spacing: 1px; }
.en-tel__hours { padding-left: 54px; font-size: 14px; margin-top: -6px; }
.en-footer__notes { width: 335px; padding: 12px 0; border-top: 1px solid #b4b4b4; border-bottom: 1px solid #b4b4b4; color: var(--en-gray60); font-size: 14px; }
.en-footer__notes li { position: relative; padding-left: 14px; margin-block: 4px; }
.en-footer__notes li::before { content: "*"; position: absolute; left: 0; }
.en-footer__links { display: flex; gap: 40px; font-size: 14px; color: var(--en-gray60); }
.en-footer__links a { text-decoration: none; }
.en-copyright { margin: 0; padding: 28px 16px; background: var(--en-primary); color: #fff; font-size: 14px; text-align: center; }

/* ───── ツアー詳細 ───── */
.en-gallery { padding-top: 24px; overflow: hidden; }
.en-gallery__main .splide__track { overflow: visible; }
.en-gallery__main .splide__slide { width: 600px; }
.en-gallery__img { width: 600px; height: 430px; object-fit: cover; border-radius: 20px; }
.en-gallery__thumbs { margin-top: 36px; }
.en-gallery__thumbs .splide__slide { width: 93px; height: 70px; border-radius: 8px; overflow: hidden; opacity: .6; border: 2px solid transparent; }
.en-gallery__thumbs .splide__slide.is-active { opacity: 1; border-color: var(--en-primary); }
.en-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.en-info { padding: 80px 0 40px; }
.en-info__row { display: grid; grid-template-columns: minmax(0, 704px) 328px; gap: 48px; }
.en-info__title { font-size: 32px; font-weight: 700; line-height: 1.5; margin-bottom: 24px; }
.en-share { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.en-share a, .en-share button { display: inline-flex; }
.en-share__done { font-size: 13px; color: var(--en-primary); }
.en-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 24px; font-size: 14px; font-weight: 500; }
.en-overview__col { display: grid; gap: 8px; align-content: start; }
.en-overview__col > div { display: flex; align-items: flex-start; gap: 8px; }
.en-overview dt { width: 130px; flex-shrink: 0; padding: 4px 8px; border-radius: 4px; background: var(--en-primary-10); color: var(--en-primary); text-align: center; line-height: 1; }
.en-overview dd { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; line-height: 1.4; }
.en-ico-line { display: flex; align-items: flex-start; gap: 4px; width: 100%; }
.en-ico-line img { margin-top: 1px; }
.en-level-img { width: 96px; height: 16px; }
.en-stamina { display: inline-flex; gap: 4px; }
.en-overview__note { color: var(--en-gray60); font-size: 12px; }
.en-overview__note dd { display: block; }
.en-points { padding: 18px; border-radius: 20px; background: var(--en-gray5); }
.en-points__title { display: flex; align-items: center; gap: 4px; margin-bottom: 16px; font-size: 20px; font-weight: 700; }
.en-points__list { display: grid; gap: 16px; }
.en-points__list li { display: flex; align-items: center; gap: 8px; }
.en-points__no { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--en-primary-10); color: var(--en-primary); font-size: 24px; font-weight: 700; }
.en-points__list p { font-size: 16px; font-weight: 500; }
.en-info__side { display: flex; flex-direction: column; gap: 16px; }
.en-info__price-label { color: var(--en-gray60); font-size: 14px; font-weight: 500; }
.en-info__price-note { font-size: 14px; font-weight: 500; }
.en-info__buttons { display: grid; gap: 16px; }
.en-info__side .en-side-title { font-size: 20px; margin: 8px 0 0; }


/* 参加条件 */
.en-req-wrap { padding: 80px 0 0; }
.en-req { padding: 32px; border-radius: 10px; background: var(--en-primary-10); }
.en-req__title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 24px; font-weight: 700; }
.en-req .en-checks li { font-size: 16px; }

/* ページ内リンク */
.en-anchors { padding-top: 80px; }
.en-anchors ul { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 16px; }
.en-anchors a { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 12px; border-bottom: 2px solid var(--en-gray40); color: var(--en-gray60); font-weight: 700; text-decoration: none; }
.en-anchors a.is-current, .en-anchors a:hover { color: var(--en-primary); border-color: var(--en-primary); }

/* 日程 */
.en-itinerary__intro { max-width: 1080px; margin: 0 auto 50px; text-align: center; line-height: 1.8; }
.en-itinerary__pill { position: relative; margin-bottom: 60px; padding: 14px; border-radius: 100px; background: var(--en-primary); color: #fff; font-weight: 700; text-align: center; }
.en-itinerary__pill::after { content: ""; position: absolute; left: 50%; bottom: -10px; transform: translateX(-50%); border: 8px solid transparent; border-top: 10px solid var(--en-primary); border-bottom: 0; }
.en-itinerary__box { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 32px; margin-bottom: 16px; padding: 24px 36px; border-radius: 20px; background: var(--en-primary-5); }
.en-itinerary__label { width: 190px; font-size: 24px; font-weight: 700; }
.en-itinerary__box .en-km { display: inline-flex; flex-direction: column; font-size: 14px; }
.en-itinerary__box .en-km .en-km__num { line-height: 1.1; }
.en-itinerary__box .en-km { display: inline-block; }
.en-itinerary__map { margin: 50px 0; }
.en-itinerary__map img { width: 100%; }
.en-itinerary__map figcaption { margin-top: 8px; color: var(--en-accent); font-size: 14px; }
.en-pickup__intro { margin-bottom: 12px; }
.en-pickup__box { margin-bottom: 12px; padding: 10px 12px; border-radius: 4px; background: var(--en-primary-10); }
.en-pickup__place { display: flex; align-items: center; gap: 6px; padding-bottom: 6px; margin-bottom: 8px; border-bottom: 1px dashed #b4c6db; font-weight: 700; }
.en-pickup__hours { margin-top: 6px; color: var(--en-primary); font-weight: 700; }
.en-pickup__hours b { margin-left: 8px; }
.en-important { margin-top: 48px; padding: 24px 20px; border-radius: 20px; background: var(--en-primary-5); }
.en-important summary { display: flex; justify-content: space-between; font-size: 24px; font-weight: 700; cursor: pointer; list-style: none; }
.en-important summary::-webkit-details-marker { display: none; }
.en-important summary::after { content: "+"; color: var(--en-primary); }
.en-important[open] summary::after { content: "−"; }
.en-important ul { margin-top: 20px; padding-left: 16px; font-size: 14px; line-height: 1.6; }
.en-important li { position: relative; padding-left: 16px; }
.en-important li::before { content: "*"; position: absolute; left: 0; }

/* 宿泊地 */
.en-acc__item { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 24px; margin-top: 60px; }
.en-acc__label { display: flex; justify-content: center; align-items: center; gap: 10px; margin-bottom: 8px; color: var(--en-primary); font-weight: 700; }
.en-acc__label::before { content: "\\"; }
.en-acc__label::after { content: "/"; }
.en-acc__slider .splide__slide img { width: 100%; height: 240px; object-fit: cover; }
.en-acc__slider .splide__arrow { width: 36px; height: 36px; background: #fff; border: 2px solid var(--en-primary); opacity: 1; }
.en-acc__slider .splide__arrow svg { fill: var(--en-primary); width: 14px; height: 14px; }
.en-acc__slider .splide__arrow--prev { left: -18px; }
.en-acc__slider .splide__arrow--next { right: -18px; }
.en-acc__days { display: flex; gap: 8px; margin-bottom: 12px; }
.en-acc__days span { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--en-primary); color: #fff; font-size: 24px; font-weight: 700; line-height: 1; }
.en-acc__days small { font-size: 12px; font-weight: 400; }
.en-acc__name { font-size: 24px; font-weight: 700; margin-bottom: 8px; }
.en-acc__text { font-size: 16px; line-height: 1.6; margin-bottom: 16px; }
.en-acc__fac { display: grid; grid-template-columns: repeat(2, minmax(0, 198px)); gap: 8px 14px; }
.en-acc__fac li { display: flex; border: 1px solid var(--en-primary); border-radius: 2px; color: var(--en-primary); }
.en-acc__fac span { flex: 1; text-align: center; }
.en-acc__fac span:first-child { background: var(--en-primary-10); }
.en-acc__note { margin-top: 8px; color: var(--en-gray60); font-size: 14px; }

/* What to Expect */
.en-expect__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px 48px; }
.en-expect__list img { width: 100%; aspect-ratio: 328 / 246; object-fit: cover; border-radius: 20px; }
.en-expect__list h3 { margin: 24px 0 12px; font-size: 18px; font-weight: 700; }
.en-expect__list p { font-size: 16px; line-height: 1.6; }

/* オプション・規約 */
.en-terms__block { border-top: 1px solid var(--en-gray40); }
.en-terms__block:last-child { border-bottom: 1px solid var(--en-gray40); }
.en-terms__title { display: flex; justify-content: space-between; align-items: center; padding: 20px; font-size: 24px; font-weight: 700; cursor: pointer; list-style: none; }
.en-terms__title::-webkit-details-marker { display: none; }
.en-options { padding-bottom: 24px; }
.en-option { padding: 0 36px; }
.en-option summary { display: flex; align-items: center; gap: 16px; padding: 10px 0; cursor: pointer; list-style: none; }
.en-option summary::-webkit-details-marker { display: none; }
.en-option__name { flex: 1; font-weight: 700; }
.en-option__price { color: var(--en-accent); font-weight: 700; text-align: right; }
.en-option__toggle { display: inline-flex; align-items: center; gap: 6px; padding: 2px 14px; border-radius: 100px; background: var(--en-gray5); color: var(--en-primary); font-size: 14px; font-weight: 700; }
.en-option__close, .en-option[open] .en-option__open { display: none; }
.en-option[open] .en-option__close { display: inline; }
.en-option[open] .en-option__toggle img { transform: rotate(180deg); }
.en-option p { padding: 0 0 12px 8px; font-size: 14px; line-height: 1.6; }
.en-terms__body { padding: 0 20px 24px; font-size: 14px; line-height: 1.6; }
.en-linkcard { display: flex; gap: 24px; align-items: center; margin-top: 12px; padding: 16px; border: 1px solid var(--en-gray20); border-radius: 10px; text-decoration: none; }
.en-linkcard img { width: 240px; border-radius: 10px; }
.en-linkcard b { display: block; font-size: 20px; margin-bottom: 8px; }


/* MORE TOURS */
.en-more { padding-bottom: 80px; }

/* スマホ下部の固定ボタン（PC では出さない） */
.en-sticky { display: none; }

/* お問い合わせ */
.en-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
.en-ccard { position: relative; display: flex; align-items: center; gap: 16px; min-height: 117px; padding: 16px 24px; border-radius: 10px; text-decoration: none; box-shadow: var(--en-shadow); }
.en-ccard--wa { background: var(--en-wa); color: #fff !important; padding-left: 130px; overflow: visible; }
.en-ccard__phone { position: absolute; left: 26px; bottom: 0; width: 84px; }
.en-ccard__body { display: flex; flex-direction: column; gap: 4px; font-size: 16px; }
.en-ccard__body b { font-size: 20px; }
.en-ccard--wa em { font-style: normal; color: #f5ff6a; }
.en-ccard--form { justify-content: center; background: var(--en-primary); color: #fff !important; padding-left: 140px; }
.en-ccard--form b { font-size: 20px; flex: 1; }
.en-ccard__horse { position: absolute; left: 22px; bottom: 16px; width: 100px; }
.en-ccard__down { transform: rotate(90deg); }
.en-ccard--tel { flex-direction: column; align-items: center; justify-content: center; gap: 0; border: 2px solid var(--en-gray90); box-shadow: none; }
.en-ccard--mail { border: 2px solid var(--en-primary); color: var(--en-primary) !important; }
.en-ccard--mail .en-ccard__body { flex: 1; }
.en-ccard--mail .en-ccard__body span { font-size: 14px; }
.en-contact__notes { margin-top: 36px; color: var(--en-gray60); font-size: 16px; line-height: 1.75; }
.en-contact__notes li::before { content: "* "; }
.en-form__missing { text-align: center; }
.en-contact__grid--nowa .en-ccard--form { grid-column: 1 / -1; }
/* CF7 の部品（日本語テーマの CSS は英語では読み込まないため、必要な分だけここで） */
.en-form__body .hidden-fields-container { display: none; border: 0; margin: 0; padding: 0; }
.en-form__body .wpcf7-form p > br { display: none; }
.en-form__body .wpcf7-form > p > b, .en-form__body .wpcf7-form > p > label { display: block; }
.en-form__body .wpcf7-form-control-wrap { display: block; }
.en-form__body .en-guests .wpcf7-form-control-wrap, .en-form__body .en-dates .wpcf7-form-control-wrap { display: inline-block; }
.en-form__body .en-inq { display: grid; grid-template-columns: 134px minmax(0, 1fr); align-items: start; }
.en-form__body .en-inq .wpcf7-checkbox { display: grid; grid-template-columns: repeat(2, max-content); gap: 6px 32px; }
.en-form__body .wpcf7-list-item { margin: 0; }
.en-form__body .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 8px; font-weight: 400; cursor: pointer; }
.en-form__body input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--en-primary); }
.en-form__body .wpcf7-not-valid-tip { display: block; margin-top: 4px; color: var(--en-accent); font-size: 13px; font-weight: 500; }
.en-form__body .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border: 2px solid var(--en-primary); border-radius: 8px; font-size: 14px; }
.en-form__body .wpcf7-form.invalid .wpcf7-response-output, .en-form__body .wpcf7-form.failed .wpcf7-response-output { border-color: var(--en-accent); }
.en-form__body .wpcf7-spinner { display: block; margin: 12px auto 0; }
.en-form__body .wpcf7-form.init .wpcf7-response-output, .en-form__body .wpcf7-form.resetting .wpcf7-response-output, .en-form__body .wpcf7-form.submitting .wpcf7-response-output { display: none; }
.en-form__body .wpcf7-spinner { visibility: hidden; }
.en-form__body .wpcf7-form.submitting .wpcf7-spinner { visibility: visible; }
.en-form__body .wpcf7-submit:disabled { opacity: .6; }
.en-form__body .wpcf7-form p { margin-bottom: 24px; }
.en-form__body label { font-weight: 700; }
.en-form__body input[type="text"], .en-form__body input[type="email"], .en-form__body input[type="tel"], .en-form__body input[type="number"], .en-form__body input[type="date"], .en-form__body textarea, .en-form__body select { width: 100%; margin-top: 8px; padding: 8px 10px; border: 1px solid var(--en-gray40); border-radius: 2px; background: var(--en-gray5); font: inherit; font-weight: 400; }
.en-form__body input[type="number"] { width: 56px; text-align: center; }
.en-form__body textarea { height: 206px; }
.en-form__body .en-req-tag { display: inline-block; margin-left: 8px; padding: 0 4px; border-radius: 2px; background: var(--en-accent); color: #fff; font-size: 12px; font-weight: 500; vertical-align: middle; }
.en-form__body .en-guests { display: flex; flex-wrap: wrap; gap: 16px 40px; margin-top: 8px; font-weight: 500; }
.en-form__body .en-guests label { font-weight: 500; }
.en-form__body .en-guests input { margin: 0 0 0 10px; }
.en-form__body .en-dates { display: flex; align-items: center; gap: 12px; }
.en-form__body .en-dates input { width: 156px; }
.en-form__body .wpcf7-list-item { margin: 0 24px 6px 0; font-weight: 500; }
.en-form__body .en-agree { text-align: center; }
.en-form__body .en-agree .wpcf7-list-item { margin: 0; }
.en-form__body .wpcf7-submit { display: block; width: 335px; max-width: 100%; margin: 0 auto; padding: 16px; border: 0; border-radius: 100px; background: var(--en-primary); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }

/* ───── タブレット ───── */
@media (max-width: 1250px) {
  .en-header__inner { padding-inline: 24px; }
  .en-nav, .en-nav__list { gap: 20px; }
  .en-breadcrumb__list { padding-inline: 24px; }
  .en-about__row { padding-right: 24px; }
}
@media (min-width: 769px) and (max-width: 1100px) {
  /* タブレット：2頭を横に並べると説明・吹き出しがはみ出す・重なる → スマホと同じく縦に並べる */
  .en-horses__stage { flex-direction: column; align-items: center; gap: 40px; height: auto; }
  .en-horses__horse { flex-direction: column; align-items: center; padding-top: 110px; }
  .en-horses__horse--mn img { width: 280px; }
  .en-horses__horse--tb img { width: 360px; }
  .en-horses__horse figcaption, .en-horses__horse--mn figcaption, .en-horses__horse--tb figcaption { position: static; margin-top: 8px; text-align: center; white-space: normal; }
  .en-horses__horse figcaption br { display: none; }
  .en-bubble--red, .en-bubble--navy { top: 0; width: 160px; height: 160px; padding: 16px; font-size: 13px; }
  .en-bubble--red { left: auto; right: -90px; }
  .en-bubble--navy { left: -70px; }
}
@media (max-width: 990px) {
  .en-header__toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; }
  .en-header__toggle span:not(.en-sr) { display: block; width: 24px; height: 2px; margin: 0 auto; background: var(--en-primary); transition: .2s; }
  .en-header.is-open .en-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .en-header.is-open .en-header__toggle span:nth-child(2) { opacity: 0; }
  .en-header.is-open .en-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .en-nav { position: fixed; top: 60px; left: 0; right: 0; bottom: 0; flex-direction: column; align-items: stretch; gap: 24px; padding: 24px; background: #fff; overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform .25s, visibility 0s .25s; }
  body.admin-bar .en-nav { top: 106px; }
  .en-header.is-open .en-nav { transform: none; visibility: visible; transition: transform .25s; }
  .en-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .en-nav__list > li { border-bottom: 1px solid var(--en-gray20); }
  .en-nav__list > li > a, .en-nav__sub-toggle { display: flex; width: 100%; justify-content: space-between; padding: 16px 4px; }
  .en-nav__sub { position: static; min-width: 0; box-shadow: none; display: none; opacity: 1; visibility: visible; transform: none; padding: 0 0 8px; }
  .en-nav__has-sub.is-open .en-nav__sub { display: block; }
  .en-header__cta { align-self: center; width: 100%; max-width: 335px; }
  .en-info__row { grid-template-columns: 1fr; }
  .en-included__row { grid-template-columns: 1fr; }
  .en-commit__talent, .en-commit__nomad { grid-template-columns: 1fr; margin-right: 0; }
}

/* ───── スマホ（日本語サイトと同じ 768px） ───── */
@media (max-width: 768px) {
  body { font-size: 14px; }
  .en-site { font-size: 14px; }
  .en-section { padding-block: 56px; }
  .en-inner { padding-inline: 20px; }
  .en-h2 { gap: 8px; margin-bottom: 32px; font-size: 24px; }
  .en-h2:not(.en-h2--left) { display: block; }
  .en-h2:not(.en-h2--left) .en-h2__icon { display: inline-flex; vertical-align: -5px; margin-right: 8px; }
  .en-h2--left { font-size: 22px; }
  .en-h2--plain { font-size: 24px; }
  .en-h2__icon img { width: 28px; height: 28px; }
  .en-lead, .en-lead--lg { font-size: 16px; margin: -16px 0 24px; }
  .en-header__inner { height: 56px; padding-inline: 16px; }
  .en-logo__crest { width: 40px; }
  .en-logo__name { font-size: 26px; }
  .en-logo__sub { font-size: 6.3px; }
  .en-nav { top: 56px; }
  body.admin-bar .en-header { top: 46px; }
  .en-breadcrumb__list { padding-inline: 16px; font-size: 12px; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; }
  .en-pagehead { padding: 32px 16px; }
  .en-pagehead__title { font-size: 28px; }

  .en-fv { height: 640px; }
  .en-fv__inner { gap: 24px; padding-top: 120px; }
  .en-fv__title { font-size: 34px; }
  .en-fv__text { font-size: 16px; margin-top: -8px; }
  .en-fv__list { gap: 8px; }
  .en-fv__badge { width: 100px; height: 100px; }
  .en-fv__badge::before, .en-fv__badge::after { width: 30px; background-size: 30px 88px; height: 13px; }
  .en-fv__badge-top, .en-fv__badge-bottom { font-size: 10px; }
  .en-fv__badge-num { font-size: 24px; }
  .en-fv__badge-num small { font-size: 15px; }
  .en-fv__badge-num--max { font-size: 28px; }
  .en-fv__badge-num .en-fv__of { font-size: 14px; }
  .en-btn--lg { width: 100%; max-width: 300px; min-height: 54px; }

  .en-reasons__list { grid-template-columns: 1fr 1fr; gap: 32px 16px; }
  .en-reasons__img { width: 120px; height: 120px; margin-bottom: 16px; }
  .en-reasons__title { font-size: 16px; }
  .en-reasons__text { font-size: 13px; }

  .en-about { padding-block: 56px; }
  .en-about__row { grid-template-columns: 1fr; gap: 24px; padding-right: 0; }
  .en-about__photo { height: 240px; margin-right: 20px; }
  .en-about__body { padding: 0 20px; }
  .en-about__title { font-size: 26px; margin-bottom: 12px; }
  .en-about__text { font-size: 14px; }
  .en-about__mark { width: 380px; height: 380px; right: -120px; top: auto; bottom: 80px; }
  .en-marquee { margin-top: 32px; }
  .en-marquee__track { gap: 16px; }
  .en-marquee__track img { width: 180px; height: 120px; border-radius: 12px; }

  .en-why__img { height: 200px; }
  .en-why__title { font-size: 20px; }
  .en-why__text { font-size: 14px; }

  .en-lineup__list { grid-template-columns: 1fr; gap: 24px; margin-top: 32px; }
  .en-card__media img { height: 200px; }
  .en-card__title { font-size: 18px; min-height: 0; margin-bottom: 14px; }
  .en-card__info { font-size: 13px; }
  .en-card__info dt { width: 112px; }
  .en-card--wide { flex-direction: column; }
  .en-card--wide .en-card__media { width: 100%; }
  .en-card--wide .en-card__media img { min-height: 0; height: 200px; }
  .en-card--wide .en-badge { margin-top: -30px; }
  .en-card--wide .en-card__title { margin-bottom: 14px; }

  .en-compare__table { min-width: 620px; }
  .en-compare__table th, .en-compare__table td { padding: 10px 12px; font-size: 14px; }
  .en-compare__corner { width: 170px; }
  .en-compare__head a { font-size: 15px; }
  .en-compare__head img { height: 140px; border-radius: 12px; }
  .en-compare__label { font-size: 14px; gap: 6px; }
  .en-compare__label img { width: 24px; height: 24px; }
  .en-compare__map { width: 160px; }
  .en-km__num { font-size: 20px; }
  .en-km__num--xl { font-size: 32px; }
  .en-big { font-size: 18px; }
  .en-price--row .en-price__num { font-size: 18px; }

  .en-day__head { padding: 16px 16px 0; }
  .en-day__title, .en-day__title b { font-size: 22px; }
  .en-day__body { padding: 16px; }
  .en-day__overview { gap: 8px 16px; font-size: 14px; }
  .en-day__facilities { gap: 6px; font-size: 13px; }
  .en-timeline__item, .en-itinerary .en-timeline__item { grid-template-columns: 76px minmax(0, 1fr); gap: 8px 12px; padding-left: 0; }
  .en-timeline__item::before { left: 76px; top: 20px; }
  .en-timeline__item::after { left: 70px; }
  .en-timeline__media { grid-column: 2; grid-row: 2; }
  .en-timeline__media img { width: 100%; height: auto; aspect-ratio: 316 / 236; border-radius: 12px; }
  .en-timeline__time { grid-column: 1; grid-row: 1 / span 2; font-size: 14px; padding-right: 8px; text-align: left; }
  .en-timeline__text { grid-column: 2; grid-row: 1; padding-left: 12px; font-size: 14px; }
  .en-timeline__media { padding-left: 12px; }
  .en-timeline__item.is-text .en-timeline__media { display: none; }

  .en-included { padding-bottom: 56px; }
  .en-included__box { padding: 20px; }
  .en-included__title, .en-side-title { font-size: 20px; }
  .en-checks--3col { grid-template-columns: 1fr 1fr; gap: 8px 12px; }
  .en-included .en-checks li { font-size: 14px; }

  .en-safety__list { grid-template-columns: 1fr 1fr; gap: 32px 16px; }
  .en-safety__icon img { width: 110px; height: 110px; }
  .en-safety__icon { margin-bottom: 12px; }
  .en-safety__title { font-size: 16px; }
  .en-safety__text { font-size: 13px; }

  .en-blog__head { margin-bottom: 24px; }
  .en-blog__arrows { display: none; }
  .en-blog__title { font-size: 15px; }

  .en-cta { height: auto; }
  .en-cta__inner { flex-direction: column; padding-block: 56px; }
  .en-cta__title { font-size: 24px; }
  .en-cta__text { font-size: 15px; }
  .en-cta__cards { width: 100%; grid-template-columns: 1fr 1fr; gap: 12px; }
  .en-cta__card { height: 100px; font-size: 13px; border-radius: 12px; }

  .en-commit .en-h2 { margin-bottom: 36px; }
  .en-commit .en-h2 img { width: 56px; height: 56px; }
  .en-commit__talent { gap: 24px; margin-bottom: 56px; }
  .en-commit__h3, .en-commit__h3--lg { font-size: 24px; margin-bottom: 12px; }
  .en-commit__talent-body > p, .en-commit__nomad-body p, .en-awards { font-size: 14px; }
  .en-commit__nomad { gap: 24px; margin-bottom: 56px; }
  .en-commit__nomad-body h4 { font-size: 17px; margin-top: 16px; }
  .en-horses__title { font-size: 22px; gap: 12px; }
  .en-horses__title::before, .en-horses__title::after { height: 28px; }
  .en-horses__text { font-size: 13px; margin: 16px 0 24px; }
  .en-horses__text br { display: none; }
  .en-horses__stage { flex-direction: column; align-items: center; gap: 32px; height: auto; }
  .en-horses__horse { flex-direction: column; align-items: center; padding-top: 96px; }
  .en-horses__horse--mn img { width: 210px; }
  .en-horses__horse--tb img { width: 270px; }
  .en-horses__horse figcaption, .en-horses__horse--mn figcaption, .en-horses__horse--tb figcaption { position: static; margin-top: 8px; font-size: 15px; white-space: normal; text-align: center; }
  .en-horses__horse figcaption br { display: none; }
  .en-bubble--red, .en-bubble--navy { top: 0; width: 132px; height: 132px; padding: 12px; font-size: 11.5px; line-height: 1.35; }
  .en-bubble--red { left: auto; right: -70px; }
  .en-bubble--navy { left: -50px; }
  .en-commit { background-size: 100% calc(100% - 79px); }
  .en-commit__edge { height: 40px; }

  .en-vs__table { min-width: 760px; font-size: 13px; }
  .en-vs__table th, .en-vs__table td { padding: 12px; }
  .en-vs__table thead th { font-size: 15px; }
  .en-vs__table thead th.is-us { font-size: 18px; }
  .en-vs__table tbody th { font-size: 15px; }
  .en-vs__table .is-big { font-size: 18px; }
  .en-vs__table .is-mid, .en-vs__table strong.is-lead { font-size: 16px; }

  .en-faq__list { gap: 12px; }
  .en-faq__q { padding: 10px 14px 10px 10px; font-size: 14px; gap: 8px; }
  .en-faq__mark { width: 28px; height: 28px; }
  .en-faq__a { padding: 4px 14px 16px 10px; }
  .en-faq__a p { font-size: 14px; }

  .en-flow { padding-block: 56px; }
  .en-flow__title { font-size: 26px; margin-bottom: 32px; }
  .en-flow__list { grid-template-columns: 1fr; gap: 40px; }
  .en-flow__item:not(.is-last)::after { right: 50%; top: auto; bottom: -32px; transform: translateX(50%) rotate(90deg); }
  .en-flow__name { font-size: 20px; margin: 6px 0; }
  .en-flow__text { font-size: 14px; }

  .en-footer__inner { flex-direction: column; padding-block: 40px; }
  .en-logo--footer .en-logo__crest { width: 52px; }
  .en-logo--footer .en-logo__name { font-size: 32px; }
  .en-logo--footer .en-logo__sub { font-size: 8px; }
  .en-footer__address { margin: 24px 0; font-size: 13px; }
  .en-footer__operator { font-size: 15px; }
  .en-sns { gap: 20px; }
  .en-footer__contact { width: 100%; align-items: stretch; gap: 20px; }
  .en-footer__contact .en-btn, .en-tel, .en-footer__notes { width: 100%; }
  .en-tel__num { font-size: 28px; }
  .en-footer__links { flex-wrap: wrap; gap: 12px 24px; }

  /* 詳細 */
  .en-gallery { padding-top: 16px; }
  .en-gallery__main .splide__slide { width: 82vw; }
  .en-gallery__img { width: 82vw; height: auto; aspect-ratio: 600 / 430; border-radius: 12px; }
  .en-gallery__thumbs { margin-top: 12px; }
  .en-gallery__thumbs .splide__slide { width: 67px; height: 50px; }
  .en-info { padding: 32px 0 24px; }
  .en-info__title { font-size: 24px; margin-bottom: 16px; }
  .en-overview { grid-template-columns: 1fr; font-size: 13px; }
  .en-overview dt { width: 118px; }
  .en-points { padding: 14px; }
  .en-points__title { font-size: 18px; }
  .en-points__no { width: 36px; height: 36px; font-size: 18px; }
  .en-points__list p { font-size: 14px; }
  .en-price--hero .en-price__num { font-size: 38px; }
  .en-req-wrap { padding-top: 40px; }
  .en-req { padding: 20px; }
  .en-req__title { font-size: 20px; }
  .en-req .en-checks li { font-size: 14px; }
  .en-checks--3col { grid-template-columns: 1fr; }
  .en-anchors { padding-top: 40px; }
  .en-anchors ul { gap: 4px; }
  .en-anchors a { font-size: 14px; padding: 10px 4px; }
  .en-itinerary__intro { text-align: left; font-size: 14px; margin-bottom: 32px; }
  .en-itinerary__pill { margin-bottom: 32px; }
  .en-itinerary__box { padding: 16px 20px; gap: 8px 20px; }
  .en-itinerary__label { width: 100%; font-size: 18px; }
  .en-itinerary__map { margin: 32px 0; }
  .en-important { padding: 16px; }
  .en-important summary { font-size: 18px; }
  .en-important ul { font-size: 13px; padding-left: 0; }
  .en-acc__item { grid-template-columns: 1fr; margin-top: 40px; }
  .en-acc__slider .splide__arrow--prev { left: 4px; }
  .en-acc__slider .splide__arrow--next { right: 4px; }
  .en-acc__name { font-size: 20px; }
  .en-acc__text { font-size: 14px; }
  .en-acc__fac { grid-template-columns: 1fr 1fr; font-size: 13px; }
  .en-expect__list { grid-template-columns: 1fr; gap: 32px; }
  .en-expect__list h3 { margin: 14px 0 6px; font-size: 17px; }
  .en-expect__list p { font-size: 14px; }
  .en-terms__title { font-size: 18px; padding: 16px 8px; }
  .en-option { padding: 0 8px; }
  .en-option summary { flex-wrap: wrap; gap: 4px 12px; }
  .en-option__name { flex-basis: 100%; }
  .en-option__price { flex: 1; text-align: left; font-size: 13px; }
  .en-terms__body { padding: 0 8px 16px; }
  .en-linkcard { flex-direction: column; align-items: stretch; gap: 12px; }
  .en-linkcard img { width: 100%; }
  .en-linkcard b { font-size: 16px; }
  .en-sticky { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, .15); }
  .en-sticky__price { font-size: 13px; }
  .en-sticky__price b { color: var(--en-accent); font-size: 20px; }
  .en-sticky { gap: 8px; padding-inline: 12px; }
  .en-sticky__price { flex: 1 1 auto; min-width: 0; font-size: 12px; line-height: 1.2; }
  .en-sticky .en-btn { flex: 0 1 auto; min-width: 0; margin-left: 0; padding: 6px 6px 6px 14px; gap: 6px; font-size: 13px; white-space: nowrap; min-height: 44px; }
  .en-sticky .en-btn img { width: 26px; height: 26px; }
  .en-tour + .en-footer, .en-tour ~ .en-footer { padding-bottom: 70px; }

  /* お問い合わせ */
  .en-contact__grid { grid-template-columns: 1fr; gap: 20px; }
  .en-ccard { min-height: 100px; }
  .en-ccard--wa { padding-left: 110px; }
  .en-ccard__phone { width: 72px; left: 20px; }
  .en-ccard__body b, .en-ccard--form b { font-size: 17px; }
  .en-ccard--form { padding-left: 120px; }
  .en-ccard__horse { width: 84px; left: 16px; }
  .en-contact__notes { font-size: 13px; margin-top: 24px; }
  .en-ccard--tel .en-tel__num { font-size: 26px; }
  .en-ccard--tel .en-tel__num img { width: 34px; height: 34px; }
  .en-ccard--tel .en-tel__hours { padding-left: 40px; }
  .en-ccard--mail .en-ccard__body span { word-break: break-all; }
  .en-form__body .en-guests { gap: 12px 24px; }
  .en-form__body .en-dates input { width: 140px; }
  .en-form__body .en-inq { grid-template-columns: 1fr; gap: 8px; }
  .en-form__body .en-inq .wpcf7-checkbox { grid-template-columns: 1fr; }
  .en-contact__grid--nowa .en-ccard--form { grid-column: auto; }
}

/* 予約の流れ等で使う汎用ページの本文 */
.en-page__body h2:not(:where(.edel-i18n-root h2)) { margin: 32px 0 12px; font-size: 24px; }
.en-page__body p:not(:where(.edel-i18n-root p)) { margin-bottom: 16px; }
/* :where() 非対応の古いブラウザ（上の2行が捨てられる）でも本文の余白は従来どおり。selector() も知らない更に古いブラウザ（iOS 13 以前など）は救えない */
@supports not selector(:where(*)) { .en-page__body h2 { margin: 32px 0 12px; font-size: 24px; } .en-page__body p { margin-bottom: 16px; } }
/* 英語の記事ページ（ブログ記事の英語版・2.1.21）：本文を <div class="en-article"> で包んだページだけ（404 のボタン・予約画面には効かせない） */
.en-article h3 { margin: 24px 0 10px; font-size: 19px; }
.en-article ul { list-style: disc; padding-left: 1.5em; margin-bottom: 16px; }
.en-article ol { list-style: decimal; padding-left: 1.5em; margin-bottom: 16px; }
.en-article ul ul { list-style: circle; margin-bottom: 0; }
.en-article li { margin-bottom: 6px; }
.en-article img { display: block; border-radius: 12px; margin: 8px 0; }
.en-article a:not([class]) { color: var(--en-primary); text-decoration: underline; }
.en-article blockquote { border-left: 4px solid #d5dde8; padding: 8px 16px; margin: 0 0 16px; color: #444; }
.en-article table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-bottom: 16px; }
.en-article th, .en-article td { border-bottom: 1px solid #ddd; padding: 8px; text-align: left; vertical-align: top; }

/* とても狭い画面（320〜360px）：下の固定ボタンが画面からはみ出さないように */
@media (max-width: 360px) {
  .en-sticky__price b { font-size: 17px; }
  .en-sticky .en-btn { font-size: 12px; padding-left: 10px; }
}

/* 旧 Safari（iOS 14.0 以前）は flex の gap が効かない → margin で間隔を補う。
   inset に対応していない＝flex gap にも対応していないブラウザだけに当たる（どちらも Safari 14.1 から）。 */
@supports not (inset: 0) {
  .en-btn > * + *, .en-h2 > * + *, .en-tip__btn > * + *, .en-tel__num > * + *, .en-pickup__place > * + *,
  .en-card__info div > * + *, .en-overview__col > div > * + *, .en-overview dd > * + *, .en-points__list li > * + *,
  .en-day__overview div > * + *, .en-ccard > * + *, .en-option summary > * + *,
  .en-logo > * + *, .en-awards__title > * + *, .en-included__title > * + *, .en-side-title > * + *, .en-req__title > * + *,
  .en-points__title > * + *, .en-anchors a > * + * { margin-left: 8px; }
  .en-checks li img, .en-ico-line img { margin-right: 6px; }
  .en-nav__list > li + li, .en-sns > * + *, .en-share > li + li, .en-footer__links > li + li { margin-left: 24px; }
  .en-fv__list > * + *, .en-acc__days > * + *, .en-blog__arrows > * + * { margin-left: 12px; }
  .en-day__facilities li, .en-dots--row li { margin: 0 12px 8px 0; }
  .en-sticky > * + * { margin-left: 8px; }
  .en-header__inner > * + * { margin-left: 16px; }
}
@media (max-width: 990px) {
  @supports not (inset: 0) {
    .en-nav__list > li + li { margin-left: 0; }
    .en-nav > * + * { margin-top: 24px; }
  }
}
@media (max-width: 768px) {
  @supports not (inset: 0) {
    .en-footer__inner > * + *, .en-footer__contact > * + * { margin-top: 20px; }
    .en-horses__stage > * + * { margin-top: 32px; }
    .en-cta__inner > * + * { margin-top: 24px; }
  }
}

/* 320〜380px：馬の吹き出しが画面の外に出ないように小さく・内側へ */
@media (max-width: 380px) {
  .en-bubble--red, .en-bubble--navy { width: 112px; height: 112px; padding: 10px; font-size: 10px; }
  .en-bubble--red { right: -40px; }
  .en-bubble--navy { left: -24px; }
  .en-form__body .en-dates { flex-wrap: wrap; }
  .en-form__body .en-dates input { width: 130px; }
}

/* 電話番号はハイフンで折り返さない：狭い枠では文字を小さく */
@media (max-width: 360px) {
  .en-tel__num { font-size: 24px; }
  .en-tel__num img { width: 32px; height: 32px; }
  .en-tel__hours { padding-left: 38px; }
  .en-ccard--tel { padding-inline: 12px; }
  .en-ccard--tel .en-tel__num { font-size: 22px; }
}
@media (min-width: 769px) and (max-width: 900px) {
  .en-ccard--tel .en-tel__num { font-size: 26px; }
  .en-ccard--tel .en-tel__num img { width: 34px; height: 34px; }
}

/* 英語のツアーが1本だけのとき（片方を非公開にした等）：比較表を横スクロールさせない */
.en-compare__table.is-single { min-width: 0; max-width: 720px; margin-inline: auto; }
.en-compare__table.is-single .en-compare__head img { display: block; max-width: 360px; margin-inline: auto; }
@media (max-width: 768px) { .en-compare__table.is-single .en-compare__corner { width: 45%; } }

/* 英語の予約画面の手直し（2.1.24）。英語は日本語より文字が長く、edel の固定幅に収まらない所を直す。
   ・「Nights 4 nights 5 days」：edel の固定幅 340px の行で「days」が改行していた（PC・スマホとも）→ 前の余白を詰めて改行させない
   ・スマホ：日本語の予約画面は左右の余白なし（edel の #select-date-wrapper 等の 10px だけ）。英語は .en-inner の 20px が足され、
     上の行がはみ出し、月送りの「→」が2行目に落ちていた → 箱を左右 20px 広げて日本語と同じ幅に。
     予約画面の箱は .en-page__body の直下（template-parts/en/page.php の本文に edel が出す）
   ・確認画面の「Your selection」：見出しが edel の幅 100px で「selectio / n」と折れ、ドルの明細（edel v2.0.502 の .edel-usd-confirm）が
     edel の .content { display:flex } で横一列に詰まっていた → 見出しは1行、明細は1行ずつ「項目……金額」に。
     edel のセレクタが ID（#selected-information-fixed）なので同じ ID で書く
   ・ツアー詳細の表：「Included」の3列の項目が折り返すと行の高さがずれる（inline-block の下揃え）→ 上揃え／「Day 1」が「Da / y 1」と折れる → 折らない
   ・食事の B/L/D に凡例を付ける（日程表のすぐ下の注意書きの先頭） */
.edel-i18n-root .select-person .select-label,
.edel-i18n-root .select-person .travel-days { padding-left: 10px; }
.edel-i18n-root .select-person .travel-days { white-space: nowrap; }
@media (max-width: 768px) {
  .en-page__body > .edel-i18n-root { margin-inline: -20px; }
}
.edel-i18n-root #selected-information-fixed .header { flex-wrap: wrap; }
.edel-i18n-root #selected-information-fixed .header .selected-title { width: auto; min-width: 0; white-space: nowrap; margin-right: 16px; }
.edel-i18n-root #selected-information-fixed .content.edel-usd-confirm { display: block; max-width: 520px; }
.edel-i18n-root #selected-information-fixed .edel-usd-confirm .edel-usd-line { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding: 6px 0; border-bottom: 1px dashed #c8d0dc; }
.edel-i18n-root #selected-information-fixed .edel-usd-confirm .edel-usd-line .price { margin-left: 16px; white-space: nowrap; }
.edel-i18n-root #selected-information-fixed .edel-usd-confirm .edel-usd-notes { margin: 8px 0 0; }
.edel-i18n-root .tour-detail-table .table-3-widgth { vertical-align: top; }
.edel-i18n-root .tour-detail-schedule .sched-day { width: auto; white-space: nowrap; }
.edel-i18n-root .tour-detail-schedule + .footer-notes::before { content: "Meals: B = Breakfast, L = Lunch, D = Dinner"; display: block; margin-bottom: 6px; font-weight: 700; }

/* ===== 英語の予約画面（edel の .edel-i18n-root の中）＝日本語の予約画面と同じ素の見た目（2.1.23） =====
   英語ページはテーマの style.css・css/h_styles.min.css・css/common.css を読まない。日本語の予約画面はこの3本の
   「要素だけのセレクタ」（クラス・ID なし）の規則に頼っている（edel の front.css もテーマの button の min-width 等を前提）。
   そこで、その規則（＋予約画面用のクラス付き3本）を同じ順で抜き出し、先頭に :where(.edel-i18n-root) を付けて写した
   （詳細度は元と同じ＝edel のクラス指定との勝ち負けも日本語と同じ）。font-family は英語サイトの方針（Inter）を残すため写していない（inherit は写す）。
   .edel-i18n-root の外（英語の他のページ）には一切効かない。上の .en-page__body の p・h2 の余白も予約画面には効かせない（:not(:where()) で詳細度は従来の 0,1,1 のまま）。
   🔴 .edel-i18n-root の中に英語の部品（en-* クラス）を置かないこと（下の規則が当たって見た目が変わる）。
   ★作り直すとき：tools/gen-en-edel-css.js の冒頭の手順。この印のコメントの次の行から下を出力で置き換える */
:where(.edel-i18n-root){--white:#fff;--black:#000;--smoke:#f4f5ef;--gray:#e5e5e5;--yellow:#ff0;--primary:#044b9b;--second:#dc0017;--text-body:#000;--radius:5px}
/* body・html から受け継ぐ値（日本語は h_styles の body/html。英語では写さないので予約画面の箱に置く） */
:where(.edel-i18n-root){overflow-wrap:break-word;-webkit-tap-highlight-color:rgba(0,0,0,0)}
/* 英語の土台（:where(.en-site) button の border:0 など）を予約画面の中だけ元（ブラウザの既定）に戻す＝日本語と同じ出発点 */
:where(.edel-i18n-root) button{border:revert;font:revert;cursor:revert}
/* ---- style.css ---- */
:where(.edel-i18n-root) h5{font-size:16px}
:where(.edel-i18n-root) a,:where(.edel-i18n-root) a:hover{text-decoration:none}
:where(.edel-i18n-root) blockquote,:where(.edel-i18n-root) form,:where(.edel-i18n-root) h1,:where(.edel-i18n-root) h2,:where(.edel-i18n-root) h3,:where(.edel-i18n-root) h4,:where(.edel-i18n-root) h5,:where(.edel-i18n-root) img,:where(.edel-i18n-root) li,:where(.edel-i18n-root) ol,:where(.edel-i18n-root) p,:where(.edel-i18n-root) ul{margin:0;padding:0;background-repeat:no-repeat}
:where(.edel-i18n-root) A ol,:where(.edel-i18n-root) ul{list-style:none}
:where(.edel-i18n-root) small{font-size:11px}
:where(.edel-i18n-root) code{background:#FFFFC1}
:where(.edel-i18n-root) a{color:#0085ce;outline:0}
:where(.edel-i18n-root) p a:hover{text-decoration:underline}
:where(.edel-i18n-root) a img{border:none}
:where(.edel-i18n-root) .notes{font-size:10px;line-height:1.6em}
:where(.edel-i18n-root) button,:where(.edel-i18n-root) input,:where(.edel-i18n-root) select,:where(.edel-i18n-root) textarea{font-size:18px}
:where(.edel-i18n-root) input{box-sizing:border-box;padding:10px;border:1px solid #bbb}
:where(.edel-i18n-root) input[name="date-38"]{margin-right:10px}
:where(.edel-i18n-root) input[name="date-39"]{margin-left:10px}
:where(.edel-i18n-root) textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #bbb}
:where(.edel-i18n-root) select::-ms-expand{display:none}
:where(.edel-i18n-root) p:hover img{opacity:.5}
:where(.edel-i18n-root) img{pointer-events:none}
@media screen and (max-width: 1000px){:where(.edel-i18n-root) mark-txt{position:relative;display:inline-block;margin:0 0 10px;padding:5px 1px 5px 15px;font-size:22px;background:#fff;color:#017589;line-height:120%;font-weight:700}}
/* ---- h_styles.min.css ---- */
:where(.edel-i18n-root) *,:where(.edel-i18n-root) *::before,:where(.edel-i18n-root) *::after{box-sizing:border-box}
:where(.edel-i18n-root) article,:where(.edel-i18n-root) aside,:where(.edel-i18n-root) figcaption,:where(.edel-i18n-root) figure,:where(.edel-i18n-root) footer,:where(.edel-i18n-root) header,:where(.edel-i18n-root) hgroup,:where(.edel-i18n-root) main,:where(.edel-i18n-root) nav,:where(.edel-i18n-root) section{display:block}
:where(.edel-i18n-root) [tabindex="-1"]:focus{outline:0 !important}
:where(.edel-i18n-root) hr{box-sizing:content-box;height:0;overflow:visible}
:where(.edel-i18n-root) h1,:where(.edel-i18n-root) h2,:where(.edel-i18n-root) h3,:where(.edel-i18n-root) h4,:where(.edel-i18n-root) h5,:where(.edel-i18n-root) h6{margin-top:0;margin-bottom:.5rem}
:where(.edel-i18n-root) p{margin-top:0;margin-bottom:1rem}
:where(.edel-i18n-root) abbr[title],:where(.edel-i18n-root) abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}
:where(.edel-i18n-root) address{margin-bottom:1rem;font-style:normal;line-height:inherit}
:where(.edel-i18n-root) ol,:where(.edel-i18n-root) ul,:where(.edel-i18n-root) dl{margin-top:0;margin-bottom:1rem}
:where(.edel-i18n-root) ol ol,:where(.edel-i18n-root) ul ul,:where(.edel-i18n-root) ol ul,:where(.edel-i18n-root) ul ol{margin-bottom:0}
:where(.edel-i18n-root) dt{font-weight:700}
:where(.edel-i18n-root) dd{margin-bottom:.5rem;margin-left:0}
:where(.edel-i18n-root) blockquote{margin:0 0 1rem}
:where(.edel-i18n-root) b,:where(.edel-i18n-root) strong{font-weight:bolder}
:where(.edel-i18n-root) small{font-size:80%}
:where(.edel-i18n-root) sub,:where(.edel-i18n-root) sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}
:where(.edel-i18n-root) sub{bottom:-.25em}
:where(.edel-i18n-root) sup{top:-.5em}
:where(.edel-i18n-root) a{color:#0085ce;text-decoration:none}
:where(.edel-i18n-root) a:hover{opacity:.8}
:where(.edel-i18n-root) a:not([href]):not([tabindex]){color:inherit;text-decoration:none}
:where(.edel-i18n-root) a:not([href]):not([tabindex]):hover,:where(.edel-i18n-root) a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}
:where(.edel-i18n-root) a:not([href]):not([tabindex]):focus{outline:0}
:where(.edel-i18n-root) pre,:where(.edel-i18n-root) code,:where(.edel-i18n-root) kbd,:where(.edel-i18n-root) samp{font-size:1em}
:where(.edel-i18n-root) pre{margin-top:0;margin-bottom:1rem;overflow:auto}
:where(.edel-i18n-root) figure{margin:0;padding:0}
:where(.edel-i18n-root) img{vertical-align:middle;border-style:none}
:where(.edel-i18n-root) svg{overflow:hidden;vertical-align:middle}
:where(.edel-i18n-root) table{border-collapse:collapse}
:where(.edel-i18n-root) caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}
:where(.edel-i18n-root) th{text-align:inherit}
:where(.edel-i18n-root) label{display:inline-block;margin-bottom:.5rem}
:where(.edel-i18n-root) button{border-radius:0}
:where(.edel-i18n-root) button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}
:where(.edel-i18n-root) input,:where(.edel-i18n-root) button,:where(.edel-i18n-root) select,:where(.edel-i18n-root) optgroup,:where(.edel-i18n-root) textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}
:where(.edel-i18n-root) button,:where(.edel-i18n-root) input{overflow:visible}
:where(.edel-i18n-root) button,:where(.edel-i18n-root) select{text-transform:none}
:where(.edel-i18n-root) select{word-wrap:normal}
:where(.edel-i18n-root) button,:where(.edel-i18n-root) [type="button"],:where(.edel-i18n-root) [type="reset"],:where(.edel-i18n-root) [type="submit"]{-webkit-appearance:button}
:where(.edel-i18n-root) button:not(:disabled),:where(.edel-i18n-root) [type="button"]:not(:disabled),:where(.edel-i18n-root) [type="reset"]:not(:disabled),:where(.edel-i18n-root) [type="submit"]:not(:disabled){cursor:pointer}
:where(.edel-i18n-root) button::-moz-focus-inner,:where(.edel-i18n-root) [type="button"]::-moz-focus-inner,:where(.edel-i18n-root) [type="reset"]::-moz-focus-inner,:where(.edel-i18n-root) [type="submit"]::-moz-focus-inner{padding:0;border-style:none}
:where(.edel-i18n-root) input[type="radio"],:where(.edel-i18n-root) input[type="checkbox"]{box-sizing:border-box;padding:0}
:where(.edel-i18n-root) input[type="date"],:where(.edel-i18n-root) input[type="time"],:where(.edel-i18n-root) input[type="datetime-local"],:where(.edel-i18n-root) input[type="month"]{-webkit-appearance:listbox}
:where(.edel-i18n-root) textarea{overflow:auto;resize:vertical}
:where(.edel-i18n-root) fieldset{min-width:0;padding:0;margin:0;border:0}
:where(.edel-i18n-root) legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}
:where(.edel-i18n-root) progress{vertical-align:baseline}
:where(.edel-i18n-root) [type="number"]::-webkit-inner-spin-button,:where(.edel-i18n-root) [type="number"]::-webkit-outer-spin-button{height:auto}
:where(.edel-i18n-root) [type="search"]{outline-offset:-2px;-webkit-appearance:none}
:where(.edel-i18n-root) [type="search"]::-webkit-search-decoration{-webkit-appearance:none}
:where(.edel-i18n-root) ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}
:where(.edel-i18n-root) output{display:inline-block}
:where(.edel-i18n-root) summary{display:list-item;cursor:pointer}
:where(.edel-i18n-root) template{display:none}
:where(.edel-i18n-root) [hidden]{display:none !important}
:where(.edel-i18n-root) a{transition:all 0.3s;color:var(--text-body);outline:none !important}
:where(.edel-i18n-root) a:hover{opacity:.8}
:where(.edel-i18n-root) img{max-width:100%;vertical-align:bottom}
:where(.edel-i18n-root) input[type="text"],:where(.edel-i18n-root) input[type="email"],:where(.edel-i18n-root) input[type="password"],:where(.edel-i18n-root) input[type="phone"],:where(.edel-i18n-root) input[type="search"],:where(.edel-i18n-root) input[type="tel"],:where(.edel-i18n-root) textarea,:where(.edel-i18n-root) select{width:100%;border:1px solid var(--gray);border-radius:var(--radius);padding:15px 24px;outline:none !important}
:where(.edel-i18n-root) button,:where(.edel-i18n-root) input[type="button"],:where(.edel-i18n-root) input[type="submit"]{font-weight:700;color:var(--white);background:var(--primary);display:inline-block;border-radius:100px;text-align:center;font-size:16px;line-height:23px;padding:14px 25px;min-width:250px}
@media only screen and (min-width:768px){:where(.edel-i18n-root) button,:where(.edel-i18n-root) input[type="button"],:where(.edel-i18n-root) input[type="submit"]{min-width:auto}}
@media only screen and (min-width:992px){:where(.edel-i18n-root) button,:where(.edel-i18n-root) input[type="button"],:where(.edel-i18n-root) input[type="submit"]{padding:18px 25px;min-width:300px}}
:where(.edel-i18n-root) button:hover,:where(.edel-i18n-root) input[type="button"]:hover,:where(.edel-i18n-root) input[type="submit"]:hover{opacity:.8}
@media screen and (max-width:600px){:where(.edel-i18n-root) input[type="email"]{width:100%}}
:where(.edel-i18n-root) .link-bule{color:#0085ce}
/* ---- common.css ---- */
:where(.edel-i18n-root) *{margin:0;padding:0;box-sizing:border-box}
:where(.edel-i18n-root) a{text-decoration:none;color:inherit;transition:all 0.3s ease}
:where(.edel-i18n-root) img{max-width:100%;height:auto}
:where(.edel-i18n-root) ul,:where(.edel-i18n-root) ol{list-style:none}
:where(.edel-i18n-root) dl,:where(.edel-i18n-root) dd{margin-bottom:0}
:where(.edel-i18n-root) li{list-style-type:none}
:where(.edel-i18n-root) h1,:where(.edel-i18n-root) h2,:where(.edel-i18n-root) h3,:where(.edel-i18n-root) h4,:where(.edel-i18n-root) h5,:where(.edel-i18n-root) h6{margin-bottom:0}
:where(.edel-i18n-root) p{margin-bottom:0}
:where(.edel-i18n-root) .header.edel-flex.edel-flex-end{margin-top:10px}

/* 2026-10-23 ヘッダーに会員の入口（MY ACCOUNT／LOG IN）を足した分の調整（ファイル末尾＝旧 Safari 用の margin より後に置く）
   ・View Tours ボタンを折り返させない（991〜1060px・1251〜1268px で2行になりヘッダーからはみ出した）
   ・ハンバーガーになる手前（991〜1100px）はメニューの間を詰める */
@media (min-width: 990.02px) {
  .en-header__cta { flex-shrink: 0; white-space: nowrap; }
}
@media (min-width: 990.02px) and (max-width: 1100px) {
  .en-nav, .en-nav__list { gap: 10px; }
  .en-nav__list > li > a, .en-nav__sub-toggle { font-size: 15px; }
  @supports not (inset: 0) {
    .en-nav__list > li + li { margin-left: 10px; }
  }
}
@media (min-width: 1251px) and (max-width: 1280px) {
  .en-header__inner { padding-inline: 56px; }
}
@media (min-width: 990.02px) and (max-width: 1000px) {
  .en-header__inner { gap: 16px; }
}
/* 2026-10-23 フッターのリンクに会員の入口を足して4つになり、幅 416px の枠で全リンクが単語の途中で2行に折れた → PC は右寄せで折り返し、各リンクの中では折らない */
@media (min-width: 769px) {
  .en-footer__links { flex-wrap: wrap; justify-content: flex-end; gap: 8px 24px; }
  .en-footer__links > li { white-space: nowrap; }
  @supports not (inset: 0) {
    .en-footer__links > li + li { margin-left: 24px; }
    .en-footer__links > li { margin-bottom: 8px; }
  }
}
/* 旧 Safari：スマホでフッターのリンクが2行になったとき行の間が 0px になる（row gap が効かない） */
@media (max-width: 768px) {
  @supports not (inset: 0) {
    .en-footer__links > li { margin-bottom: 12px; }
  }
}
/* 旧 Safari：PC 幅でメニューと View Tours ボタンの間が 0px（gap の代わりの margin が 990px 以下にしか無かった） */
@media (min-width: 990.02px) {
  @supports not (inset: 0) {
    .en-nav > * + * { margin-left: 10px; }
  }
}
