/**
 * YAMAZEN Tokyo - Top Page Enhancements
 * トップページ改修用スタイル
 */

/* ==========================================================================
   1. ヘッダー - PC版のみ（1200px以上）
   1199px以下は親テーマの挙動を維持
   ========================================================================== */

@media (min-width: 1200px) {
  /* トップページのヘッダー背景を透明に */
  body.home #js-header.l-header,
  body.home header#js-header.l-header {
    background: transparent !important;
    background-color: transparent !important;
  }

  /* スクロール後の固定ヘッダー - グラデーション（下端を透明に） */
  body.home #js-header.l-header--fixed.is-active,
  body.home header#js-header.l-header--fixed.is-active {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.9) 0%,
      rgba(0, 0, 0, 0.3) 70%,
      rgba(0, 0, 0, 0) 100%
    ) !important;
    border-bottom: none !important;
  }

  /* アニメーション中のヘッダー */
  body.home #js-header.l-header--fixed.is-animate,
  body.home header#js-header.l-header--fixed.is-animate {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.9) 0%,
      rgba(0, 0, 0, 0.3) 70%,
      rgba(0, 0, 0, 0) 100%
    ) !important;
  }

  /* メインビジュアル（動画/スライダー/YouTube）の上部にグラデーション */
  body.home .p-header-video::before,
  body.home .p-header-slider::before,
  body.home .p-header-youtube::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.6) 0%,
      rgba(0, 0, 0, 0.3) 50%,
      rgba(0, 0, 0, 0) 100%
    );
    z-index: 2;
    pointer-events: none;
  }

  /* スクロール後のナビゲーション文字色を白に */
  body.home .l-header--fixed.is-active .p-global-nav > ul > li > a {
    color: #ffffff !important;
  }

  body.home .l-header--fixed.is-active .p-global-nav > ul > li > a:hover {
    color: #cccccc !important;
  }

  /* スクロール後のロゴテキストを白に（画像ロゴはそのまま） */
  body.home .l-header--fixed.is-active .l-header__logo a {
    color: #ffffff !important;
  }

  /* スクロール後のロゴ画像を白版に切り替え */
  body.home .l-header--fixed.is-active .l-header__logo img,
  body.home .l-header--fixed.is-active .p-logoset .c-logo img {
    content: url("../../../../uploads/2026/03/logo_head-1-white.png");
  }

  /* ロゴ内の黒文字を白に（logoset内のテキスト）- 画像は除外 */
  body.home .l-header--fixed.is-active .p-logoset__desc,
  body.home .l-header--fixed.is-active .p-logoset__desc span {
    color: #ffffff !important;
  }

  /* スクロール前: ロゴ拡大＋上余白 */
  body.home .p-logoset {
    width: auto;
    padding: 42px 0px 15px;
    border: none;
  }
  body.home .p-logoset img {
    max-width: 260px;
    height: auto;
  }
  body.home .p-logoset__desc {
    display: none;
  }

  /* 多言語セレクトを右上に固定 */
  body.home .l-header .pll-switcher-select {
    position: absolute;
    top: 54px;
    right: 0;
  }

  /* スクロール前: ナビを画面中央に配置 */
  body.home .l-header__inner {
    position: relative;
  }
  body.home .p-front-global-nav {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 !important;
    padding-left: 0 !important;
  }
  /* スクロール後はナビ・セレクトを通常配置に戻す */
  body.home .l-header--fixed.is-active .p-front-global-nav {
    position: static;
    transform: none;
    margin: 0 0 0 auto !important;
  }
  body.home .l-header--fixed.is-active .pll-switcher-select {
    position: static;
  }

  /* Polylangのselectボックス（透明背景に白文字） */
  body.home .l-header select,
  body.home .l-header .pll-switcher select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 4px;
    padding: 6px 30px 6px 12px;
    color: #ffffff !important;
    font-size: 13px;
    cursor: pointer;
    min-width: 90px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 10px !important;
  }

  body.home .l-header select:hover,
  body.home .l-header .pll-switcher select:hover {
    border-color: rgba(255, 255, 255, 0.9) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
  }

  body.home .l-header select:focus,
  body.home .l-header .pll-switcher select:focus {
    outline: none;
    border-color: #ffffff !important;
  }

  /* selectのoption（ドロップダウン内） */
  body.home .l-header select option {
    background: #333333;
    color: #ffffff;
    padding: 8px;
  }

  /* スクロール後も同じスタイル */
  body.home .l-header--fixed.is-active select,
  body.home .l-header--fixed.is-active .pll-switcher select {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
  }
}

/* 1199px以下: 親テーマの挙動を維持（ヘッダー改修なし） */

/* ==========================================================================
   2. メインビジュアル - 動画の高さ調整（100vh）
   ========================================================================== */

/* PC表示で100vhに変更（親テーマの1000px !importantを上書き） */
@media (min-width: 1200px) {
  .p-header-video {
    height: 100vh !important;
    min-height: 600px !important;
    max-height: 100vh !important;
  }

  .p-header-slider__item-img {
    height: 100vh !important;
    min-height: 600px !important;
    max-height: 100vh !important;
  }

  .p-header-youtube {
    height: 100vh !important;
    min-height: 600px !important;
    max-height: 100vh !important;
  }
}

/* 動画のフィット調整 */
.p-header-video video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* メインビジュアルのテキスト位置を少し下げる */
@media (min-width: 1200px) {
  .p-header-content__inner {
    padding-top: 100px;
  }
}

/* ==========================================================================
   0. 共通タイポグラフィ・ラベル装飾
   ロゴカラー #FACB03 をアクセントに使用
   ========================================================================== */

/* セクション見出し - 明朝体 */
body.home .p-index-contents__title {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E",
    "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  position: relative;
  font-size: 40px !important;
  color: #ffffff !important;
}

/* 英字ラベル（共通スタイル） */
body.home .p-index-contents__title::before {
  display: block;
  font-family: "Times New Roman", "Georgia", serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.25em;
  color: #facb03;
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 34px;
}

/* セパレーター：ラベルと見出しの間 */
body.home .p-index-contents__title::after {
  content: "";
  position: absolute;
  top: 22px;
  left: 50%;
  transform: translateX(-50%);
  width: 92px;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}

/* 各セクションのラベル文言 */
#tour .p-index-contents__title::before {
  content: "TOUR EXAMPLES";
}

.p-index-content02 .p-index-contents__title::before {
  content: "SPECIAL TRIPS";
}

@media (min-width: 768px) {
  .p-index-content02
    .p-index-content02__text--vertical
    .p-index-contents__title::before {
    position: absolute;
    top: 0;
    right: -2.2em;
    margin: 0;
  }
}

/* PC縦書き時のみセパレーター非表示 */
@media (min-width: 768px) {
  .p-index-content02 .p-index-contents__title::after {
    display: none;
  }
}

.p-index-content03 .p-index-contents__title::before {
  content: "ACHIEVEMENTS";
}

.p-index-content06 .p-index-contents__title::before {
  content: "BLOG";
}

/* セクション説明文 */
/* セクション説明文 - 明朝体 */
body.home .p-index-contents__desc {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
  letter-spacing: 0.12em;
  line-height: 2.6 !important;
  color: #e0e0e0;
}

/* ==========================================================================
   3. ツアー例セクション
   ========================================================================== */

#cb_1.p-cb__item {
  background-color: #000000 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#cb_1 .p-entry__body {
  margin-bottom: 0 !important;
}

#tour {
  background-color: #000000;
  padding: 80px 0 100px;
}

#tour .p-index-contents__title {
  margin-bottom: 50px;
}

/* ツアーセクション内の二重インナー解除 */
#tour .l-inner {
  padding: 0 !important;
  width: 100% !important;
}

/* ツアーカード */
#tour .p-article01 {
  background-color: #1e1e1e;
  box-shadow: none !important;
}

#tour .p-article01__content {
  background-color: #1e1e1e;
}

#tour .p-article01__title {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em;
  line-height: 1.6 !important;
  color: #b8960c;
  margin-bottom: 8px;
}

#tour .p-blog-list__item {
  border: none !important;
}

/* ツアーカードディスクリプション */
#tour .p-article01__desc {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #cccccc;
  padding: 0 1em;
}

/* ツアーカードスライドショー */
#tour .tour-slider {
  overflow: hidden;
}

#tour .tour-slider img {
  width: 100% !important;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.5s ease;
}

/* ホバー効果（カード全体でトリガー） */
#tour .p-article01:hover .tour-slider img {
  transform: scale(1.2);
}

#tour .p-article01:hover .p-article01__title {
  color: #999999;
  transition: color 0.3s ease;
}

/* フェードインアニメーション */
.fade-in-up {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-in-up:nth-child(1) {
  transition-delay: 0s;
}
.fade-in-up:nth-child(2) {
  transition-delay: 0.15s;
}
.fade-in-up:nth-child(3) {
  transition-delay: 0.3s;
}
.fade-in-up:nth-child(4) {
  transition-delay: 0.45s;
}

/* ==========================================================================
   4. 特別な旅行（コンセプト）セクション
   ========================================================================== */

.p-index-content02 {
  background-color: #1a1a1a !important;
  padding: 100px 0 120px !important;
}

#cb_1 + .p-index-content02.p-cb__item,
.p-cb__item.p-index-content02 {
  margin-top: 0 !important;
}

/* テキストアニメーション */
.p-index-content02__text .p-index-contents__title {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.p-index-content02__text .p-index-contents__title.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.p-index-content02__text .p-index-contents__desc {
  opacity: 1;
}

.concept-line {
  display: inline;
  color: #e0e0e0;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.concept-line.is-visible {
  clip-path: inset(0 0 0% 0);
}

@media (max-width: 767px) {
  .concept-line {
    clip-path: inset(0 100% 0 0);
  }
  .concept-line.is-visible {
    clip-path: inset(0 0% 0 0);
  }
}

/* 画像エリア */
.p-index-content02__images {
  display: flex !important;
  margin-top: 100px !important;
}

.p-index-content02__image {
  flex: 1 1 0 !important;
  overflow: hidden;
  padding: 0;
}

.p-index-content02__image img {
  width: 100% !important;
  height: auto;
  display: block;
}

/* 画像モーション */
.p-index-content02__image {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.p-index-content02__image.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.p-index-content02__image:nth-child(1) {
  transition-delay: 0.15s;
}
.p-index-content02__image:nth-child(2) {
  transition-delay: 0.3s;
}
.p-index-content02__image:nth-child(3) {
  transition-delay: 0.45s;
}

@media (max-width: 767px) {
  /* ラベル・見出しを中央揃え */
  .p-index-content02 .p-index-contents__title {
    text-align: center;
  }
  .p-index-content02 .p-index-contents__title::before {
    text-align: center;
  }

  /* テキストの高さを自動にして切れを防止 */
  .p-index-content02__text {
    height: auto !important;
    overflow: visible !important;
  }
  .p-index-content02__text .p-index-contents__desc {
    height: auto !important;
    overflow: visible !important;
  }

  /* clip-pathを無効化（折り返し時に端が切れるため） */
  .concept-line,
  .concept-line.is-visible {
    clip-path: none !important;
  }

  /* 画像を縦並びで表示 */
  .p-index-content02__images {
    flex-direction: column;
    display: flex !important;
    margin-top: 40px !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .p-index-content02__image {
    flex: 0 0 auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
    height: auto !important;
  }
  .p-index-content02__image img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  .p-article01__content {
    padding-top: 15px !important;
  }
}

/* ==========================================================================
   4-2. 特別な旅行セクション - 英語対応（横書き）
   中国語は日本語と同じく縦書きを維持
   ========================================================================== */

/* 英語のみ: 縦書きを横書きに変更 */
html:lang(en) .p-index-content02__text--vertical,
html[lang="en-US"] .p-index-content02__text--vertical {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  height: auto !important;
}

html:lang(en) .p-index-content02__text--vertical .p-index-contents__title,
html[lang="en-US"] .p-index-content02__text--vertical .p-index-contents__title {
  writing-mode: horizontal-tb !important;
  -webkit-writing-mode: horizontal-tb !important;
  -ms-writing-mode: lr-tb !important;
  text-align: center !important;
  margin-bottom: 40px !important;
}

html:lang(en) .p-index-content02__text--vertical .p-index-contents__desc,
html[lang="en-US"] .p-index-content02__text--vertical .p-index-contents__desc {
  writing-mode: horizontal-tb !important;
  -webkit-writing-mode: horizontal-tb !important;
  -ms-writing-mode: lr-tb !important;
  text-align: center !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  color: #e0e0e0 !important;
  line-height: 2.2 !important;
}

/* 英語のみ: ラベル位置調整（横書き時は上に） */
html:lang(en) .p-index-content02 .p-index-contents__title::before,
html[lang="en-US"] .p-index-content02 .p-index-contents__title::before {
  position: static !important;
  display: block !important;
  margin-bottom: 34px !important;
}

/* 英語のみ: セパレーター表示 */
html:lang(en) .p-index-content02 .p-index-contents__title::after,
html[lang="en-US"] .p-index-content02 .p-index-contents__title::after {
  display: block !important;
}

/* 英語: 登場アニメーション */
html:lang(en) .p-index-content02__text .p-index-contents__title,
html[lang="en-US"] .p-index-content02__text .p-index-contents__title {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

html:lang(en) .p-index-content02__text .p-index-contents__title.is-visible,
html[lang="en-US"] .p-index-content02__text .p-index-contents__title.is-visible {
  opacity: 1;
  transform: translateY(0);
}

html:lang(en) .p-index-content02__text .p-index-contents__desc,
html[lang="en-US"] .p-index-content02__text .p-index-contents__desc {
  clip-path: polygon(0 0, 0 0, 0 0);
  transition: clip-path 15s cubic-bezier(0.25, 0.1, 0.25, 1);
}

html:lang(en) .p-index-content02__text .p-index-contents__desc.is-visible,
html[lang="en-US"] .p-index-content02__text .p-index-contents__desc.is-visible {
  clip-path: polygon(0 0, 200% 0, 0 600%);
}

/* ==========================================================================
   5. 過去実績セクション
   ========================================================================== */

.p-index-content03 {
  background-color: #000000 !important;
  padding: 80px 0 100px !important;
}

.p-index-content03 .p-news-list ul li a {
  background-color: #1e1e1e !important;
}

/* 画像サイズ */
.p-index-content03 .p-news-list ul li.has_image .image {
  width: 50% !important;
  max-width: 260px !important;
  height: 160px !important;
  margin: 15px 0 15px 15px !important;
}

.p-index-content03 .p-news-list ul li.has_image .image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.p-index-content03 .p-news-list ul li.has_image .info {
  left: 50% !important;
}

.p-index-content03 .p-news-list ul li.has_image a {
  min-height: 190px !important;
}

/* テキスト - 明朝体 */
.p-index-content03 .p-news-list__title {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em;
  line-height: 1.7 !important;
  color: #ffffff;
  /* 全文表示（省略なし） */
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  max-height: none !important;
}

/* 過去実績ディスクリプション非表示 */
.p-index-content03 .p-news-list__desc {
  display: none !important;
}

@media (min-width: 768px) {
  .p-index-content03 .p-news-list__title {
    font-size: 16px !important;
  }
}

@media (min-width: 992px) {
  .p-index-content03 .p-news-list__title {
    font-size: 17px !important;
  }
}

/* リストアニメーション */
.p-index-content03 .p-news-list li {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

.p-index-content03 .p-news-list li.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.p-index-content03 .p-news-list li:nth-child(1) {
  transition-delay: 0s;
}
.p-index-content03 .p-news-list li:nth-child(2) {
  transition-delay: 0.1s;
}
.p-index-content03 .p-news-list li:nth-child(3) {
  transition-delay: 0.2s;
}
.p-index-content03 .p-news-list li:nth-child(4) {
  transition-delay: 0.3s;
}

/* 画像スライダー */
.p-index-content03 .p-news-slider {
  position: relative;
  overflow: hidden;
}

.p-index-content03 .p-news-slider .slick-list,
.p-index-content03 .p-news-slider .slick-track {
  height: 100%;
}

.p-index-content03 .p-news-slider__slide {
  height: 100%;
}

.p-index-content03 .p-news-slider__slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

.p-index-content03 .p-news-slider .slick-dots,
.p-index-content03 .p-news-slider .slick-arrow {
  display: none !important;
}

/* ==========================================================================
   6. ブログ一覧セクション
   ========================================================================== */

.p-index-content06 {
  background-color: #1a1a1a !important;
}

.p-index-content06 .p-article01__title {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #e0e0e0;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
}

@media (min-width: 768px) {
  .p-index-content06 .p-article01__title {
    font-size: 17px !important;
  }
}

@media (min-width: 992px) {
  .p-index-content06 .p-article01__title {
    font-size: 18px !important;
  }
}

.p-index-content06 .p-article01__title:hover {
  opacity: 0.6 !important;
}

.p-index-content06 .p-article01__date,
.p-index-content06 .p-article01__cat {
  font-size: 13px;
  color: #999999;
}

.p-index-content06 .p-article01__cat a:hover {
  color: #facb03 !important;
}

/* ブログカードアニメーション */
.p-index-content06 .p-blog-list__item {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

.p-index-content06 .p-blog-list__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.p-index-content06 .p-blog-list__item:nth-child(1) {
  transition-delay: 0s;
}
.p-index-content06 .p-blog-list__item:nth-child(2) {
  transition-delay: 0.1s;
}
.p-index-content06 .p-blog-list__item:nth-child(3) {
  transition-delay: 0.2s;
}
.p-index-content06 .p-blog-list__item:nth-child(4) {
  transition-delay: 0.3s;
}
.p-index-content06 .p-blog-list__item:nth-child(5) {
  transition-delay: 0.4s;
}
.p-index-content06 .p-blog-list__item:nth-child(6) {
  transition-delay: 0.5s;
}
.p-index-content06 .p-blog-list__item:nth-child(7) {
  transition-delay: 0.6s;
}
.p-index-content06 .p-blog-list__item:nth-child(8) {
  transition-delay: 0.7s;
}

/* ブログ画像スライドショー */
.p-index-content06 .p-article01__img {
  position: relative;
  overflow: hidden;
  display: block;
}

.p-index-content06 .p-article01__slider {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.p-index-content06 .p-article01__slider .slick-list {
  overflow: hidden;
}

.p-index-content06 .p-article01__slide {
  position: relative;
  aspect-ratio: 1 / 1;
}

.p-index-content06 .p-article01__slide a {
  display: block;
  width: 100%;
  height: 100%;
}

.p-index-content06 .p-article01__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

.p-index-content06 .p-article01__slider:hover img {
  transform: scale(1.2);
}

.p-index-content06 .p-article01__slider img {
  transition: transform 0.3s ease;
}

/* ==========================================================================
   7. セクション間の隙間調整
   ========================================================================== */

.p-cb__item {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   8. スムーズスクロール
   ========================================================================== */

html {
  scroll-behavior: smooth;
}

/* ボタンのスタイル */
body.home .p-btn.p-btn__horizon {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
  background-color: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
  transition: all 0.3s ease !important;
}

body.home .p-btn.p-btn__horizon:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}

/* ==========================================================================
   9. 主要取引先セクション
   ========================================================================== */
.major-clients-section {
  padding-top: 0 !important;
  padding-bottom: 80px !important;
}

.major-clients-section .p-index-contents__title {
  margin-bottom: 60px !important;
  writing-mode: horizontal-tb !important;
  -ms-writing-mode: lr-tb !important;
  text-orientation: mixed !important;
}

.major-clients-header {
  text-align: center;
}

.major-clients-list {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.client-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.client-list li {
  font-family:
    "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 18px;
  line-height: 2.2;
  color: #e0e0e0;
  letter-spacing: 0.05em;

  /* アニメーション用 */
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.8s ease,
    transform 0.8s ease;
}

.client-list li.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .major-clients-section {
    padding-bottom: 60px !important;
  }

  .client-list li {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 12px;
    text-align: left;
    display: block;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
    padding-bottom: 8px;
  }

  .client-list li:last-child {
    border-bottom: none;
  }

  .major-clients-list {
    text-align: center;
    padding: 0 20px;
  }
}

/* モバイル用インナーパディングリセット削除 (元に戻す) */

@media (max-width: 1199px) {
  body.home .p-logoset {
    display: none !important;
  }

  /* ヘッダーコンテンツを画面中央へ */
  .p-header-content__inner {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%);
  }
}

/* モバイル用ツアーカードレイアウト修正（はみ出し防止） */
@media (max-width: 767px) {
  #tour .p-blog-list__item {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
    display: block !important;
  }

  /* ツアー画像: 横長長方形に（高さ抑制） */
  #tour .tour-slider img {
    aspect-ratio: 3 / 2 !important;
  }

  /* ヒーロータイトル文字サイズ拡大 */
  .p-header-content__title {
    font-size: 32px !important;
    line-height: 1.4 !important;
  }
}

/* ==========================================================================
   10. フッター・コピーライトエリア（トップページ: style.cssの共通指定を補完）
   ========================================================================== */

/* トップページ固有のボタンスタイル（共通ボタンCSS上書き調整） */
body.home .p-btn.p-btn__horizon {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
}

/* ==========================================================================
   11. ヘッダー - モバイル版（1199px以下）のダークテーマ化
   ========================================================================== */

@media (max-width: 1199px) {
  /* ヘッダー背景を漆黒に */
  body.home #js-header.l-header {
    background-color: #000000 !important;
    background: #000000 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  /* ハンバーガーメニューボタンの三本線 */
  body.home #js-menu-btn span {
    background-color: #ffffff !important;
  }

  /* 言語切り替えボタン（トップページ・モバイル） */
  body.home #js-header-lang-button {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    background-color: transparent !important;
  }

  body.home #js-header-lang-button::after {
    border-top-color: #ffffff !important; /* 下向き矢印 */
  }
}

/* ==========================================================================
   12. ヒーロー動画 - タイムライン同期テキスト
   ========================================================================== */

/* テキストコンテナ - 動画の上下中央より少し下に配置（ヘッダー考慮） */
.hero-video-text {
  position: absolute;
  top: 55%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hero-video-text.is-active {
  opacity: 1;
}

/* テキスト本体 - 固定幅で左揃え表示 */
.hero-video-text__content {
  display: block;
  width: 900px;
  min-height: 230px;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.8;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 0 30px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.1em;
  white-space: pre-wrap;
  text-align: left;
}

/* タブレット・モバイル対応 */
@media (max-width: 1199px) {
  .hero-video-text__content {
    width: 550px;
    min-height: 180px;
    font-size: 32px;
    line-height: 1.7;
  }
}

@media (max-width: 767px) {
  .hero-video-text__content {
    width: 90vw;
    min-height: 130px;
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
}

/* ==========================================================================
   13. ヒーロー画像セクション（和の食体験・寺社体験）
   ========================================================================== */

/* 画像セクション全体を囲むラッパー - 画面幅いっぱいに黒背景 */
.p-hero-image-sections-wrapper {
  background-color: #000000;
  width: 100%;
}

.p-hero-image-section {
  position: relative;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  overflow: visible; /* モバイルでテキストがはみ出ても表示 */
  background-color: #000000;
}

.p-hero-image-section picture,
.p-hero-image-section img {
  display: block;
  width: 100%;
  height: auto;
}

/* オーバーレイ（テキスト配置用） - 共通 */
.p-hero-image-section__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2vw;
}

/* 1枚目（食体験）: サブタイトル上部、メインタイトル下部の分離配置 */
.p-hero-image-section--food .p-hero-image-section__overlay {
  justify-content: space-between;
  padding-top: 1.5vw;
  padding-bottom: 3vw;
  transform: translateX(1%);
}

/* 2枚目（寺社体験）: 上部の黒帯内、テキスト下端を基準に配置 */
.p-hero-image-section--temple .p-hero-image-section__overlay {
  justify-content: flex-start;
  padding-top: 4vw;
}

/* 2枚目のタイトル: 下端を揃える（行が増えると上に伸びる） */
.p-hero-image-section--temple .p-hero-image-section__title {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 2.8em; /* 1行分の高さを確保、2行時は上に伸びる */
}

/* サブタイトル（小さい文字） - 画像幅に連動 */
.p-hero-image-section__subtitle {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
  font-size: clamp(11px, 1.4vw, 14px);
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.15em;
  margin: 0;
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.9),
    0 0 20px rgba(0, 0, 0, 0.8),
    0 0 40px rgba(0, 0, 0, 0.6);
}

/* メインタイトル - 画像幅に連動 */
.p-hero-image-section__title {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", serif;
  font-size: clamp(16px, 2.5vw, 32px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-shadow:
    0 2px 10px rgba(0, 0, 0, 0.95),
    0 0 30px rgba(0, 0, 0, 0.9),
    0 0 60px rgba(0, 0, 0, 0.7),
    2px 2px 4px rgba(0, 0, 0, 1);
  margin: 0;
}

/* ヒーロー画像セクション - 登場アニメーション */
.p-hero-image-section {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.p-hero-image-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 2枚目は遅延 */
.p-hero-image-section--temple {
  transition-delay: 0.2s;
}
