@charset "UTF-8";
/* =========================================================
   旅行会社様へ（page-tour.php）2026.09 リニューアル
   既存 style.css の .page-tour / .wrap / h1 / .pause /
   .boxlink-sp-bk-pc-white / .sec-7 の設定を活かし、
   新規パーツは .tour- で始まるクラスに限定しています。
========================================================= */

.page-tour {
  --tour-green: #006e3f;
  --tour-gold: #b69510;
  --tour-text: #222;
  --tour-line: #ddd;
}

/* ---------- 共通 ---------- */
.page-tour .tour-sec {
  margin-top: 60px;
  scroll-margin-top: 100px;
}
.page-tour .tour-sec__ttl {
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--tour-green);
  color: var(--tour-green);
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  text-align: left;
}
.page-tour .tour-sec__read {
  margin: 25px 0 0;
  font-size: 14px;
  line-height: 1.85;
}
.page-tour .tour-note {
  margin: 20px 0 0;
  font-size: 12px;
  line-height: 1.6;
}
.page-tour small { font-size: 12px; }
.page-tour small.block { display: block; margin-top: 6px; }

/* テーブル（開催日・食事時刻など） */
.page-tour .tour-table { margin: 0; letter-spacing: .05em; }
.page-tour .tour-table > div {
  display: flex;
  padding: 16px 15px;
  border-bottom: 1px solid var(--tour-line);
  font-size: 14px;
  line-height: 1.7;
}
.page-tour .tour-table dt { flex: 0 0 104px; font-weight: normal; }
.page-tour .tour-table dd { flex: 1; margin: 0; }
.page-tour .tour-table dd small:not(.block) { margin-left: 10px; }
.page-tour .tour-table > div.is-column { display: block; }
.page-tour .tour-table > div.is-column dd { margin-top: 12px; }

/* ボタン（既存 .boxlink-sp-bk-pc-white を利用） */
.page-tour .tour-btn { margin-top: 20px; }
.page-tour .tour-btn .boxlink-sp-bk-pc-white { line-height: 1.5; }
.page-tour .tour-btn__sub { display: block; font-size: 12px; }
.page-tour .tour-btn--center .boxlink-sp-bk-pc-white,
.page-tour .tour-apply .boxlink-sp-bk-pc-white { max-width: 580px; margin: 0 auto; }

/* ---------- 注意書き（既存 .pause） ---------- */
.page-tour .heding .pause p { margin: 1em 0; }
.page-tour .heding .pause2 { font-size: 14px; }

/* ---------- 団体お申込み受付フロー ---------- */
.page-tour .tour-flow {
  margin-top: 20px;
  padding: 20px 15px 25px;
  background-color: #f5f5f5;
}
.page-tour .tour-flow__ttl {
  margin: 0 0 15px;
  font-size: 18px;
  font-weight: normal;
}
.page-tour .tour-flow__notes {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  line-height: 1.85;
}
.page-tour .tour-flow__notes li::before { content: '※ '; }
.page-tour .tour-flow__notes a,
.page-tour .tour-flow__steps a {
  color: var(--tour-green);
}
.page-tour .tour-flow__notes a { text-decoration: none; }
.page-tour .tour-flow__steps {
  display: flex;
  justify-content: center;
  margin: 25px auto 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-flow__steps li {
  position: relative;
  width: 33.333%;
  max-width: 230px;
  text-align: center;
}
.page-tour .tour-flow__steps li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 25px;
  right: -5px;
  border-style: solid;
  border-width: 12px 0 12px 10px;
  border-color: transparent transparent transparent var(--tour-gold);
}
.page-tour .tour-flow__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #fff;
}
.page-tour .tour-flow__icon img { width: 44%; }
.page-tour .tour-flow__steps p {
  margin: 10px 0 0;
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0;
}

/* ---------- ページ内メニュー ---------- */
.page-tour .tour-anchor {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--tour-line);
}
.page-tour .tour-anchor ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-anchor a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 90px;
  padding: 12px 5px 30px;
  border: 1px solid var(--tour-text);
  background-color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: background-color .3s, color .3s;
}
.page-tour .tour-anchor a::after {
  content: '';
  position: absolute;
  bottom: 14px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
}
.page-tour .tour-anchor__main { font-size: 16px; line-height: 1.5; }
.page-tour .tour-anchor__sub { font-size: 11px; line-height: 1.5; letter-spacing: 0; }

/* ---------- 焼酎の工場見学 ---------- */
.page-tour .tour-factory { margin-top: 30px; }
.page-tour .tour-factory__slider { margin-top: 25px; }
.page-tour .tour-factory__slider img {
  display: block;
  width: 100%;
  aspect-ratio: 500 / 340;
  object-fit: cover;
}
.page-tour .tour-factory__slider .swiper-pagination {
  position: static;
  margin-top: 10px;
  text-align: right;
}
.page-tour .tour-factory__slider .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 0 0 10px !important;
  background: #d9d9d9;
  opacity: 1;
}
.page-tour .tour-factory__slider .swiper-pagination-bullet-active { background: var(--tour-green); }

/* ---------- お食事 ---------- */
.page-tour .tour-restaurant { margin-top: 30px; }
.page-tour .tour-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-menu img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.page-tour .tour-menu p {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
.page-tour .tour-menu p span { font-size: 14px; }
.page-tour .tour-menu p small { font-size: 12px; }
.page-tour .tour-note--center { text-align: center; }
.page-tour .tour-restaurant__info { margin-top: 30px; }
.page-tour .tour-restaurant__info .tour-note { margin-bottom: 10px; }

/* ---------- お買い物 ---------- */
.page-tour .tour-shop { margin-top: 30px; }
.page-tour .tour-shop__ph img {
  display: block;
  width: 100%;
  aspect-ratio: 500 / 340;
  object-fit: cover;
}
.page-tour .tour-shop__body { margin-top: 25px; }
.page-tour .tour-shop__label {
  margin: 0 0 20px;
  font-size: 14px;
  text-align: center;
}
.page-tour .tour-shop__items { margin: 0; }
.page-tour .tour-shop__items ul { margin: 0; padding: 0; list-style: none; }
.page-tour .tour-shop__item-ph {
  aspect-ratio: 1 / 1;
  background-color: #fff;
}
.page-tour .tour-shop__item-ph img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-tour .tour-shop__items p {
  margin: 10px 0 0;
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}
.page-tour .tour-shop .tour-btn { margin-top: 30px; }

/* ---------- 自由散策 ---------- */
.page-tour .tour-spot {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 20px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-spot li { width: 100%; max-width: 400px; text-align: center; }
.page-tour .tour-spot img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.page-tour .tour-spot p {
  margin: 10px 0 0;
  padding: 0 10px;
  font-size: 14px;
  line-height: 1.8;
  text-align: left;
}
.page-tour .tour-pill {
  position: relative;
  display: inline-block;
  min-width: 212px;
  margin-top: 15px;
  padding: 13px 40px;
  border-radius: 25px;
  background-color: var(--tour-green);
  color: #fff !important;
  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  transition: opacity .3s;
}
.page-tour .tour-pill::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
.page-tour .tour-pill:hover { opacity: .8; }

/* ---------- その他の施設案内（アコーディオン） ---------- */
.page-tour .tour-acc { margin-top: 20px; }
.page-tour .tour-acc:first-of-type { margin-top: 30px; }
.page-tour .tour-acc__head {
  position: relative;
  display: block;
  width: 100%;
  padding: 15px 50px 15px 15px;
  border: 0;
  border-radius: 0;
  background-color: var(--tour-green);
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
}
.page-tour .tour-acc__head::before,
.page-tour .tour-acc__head::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 1px;
  background-color: #fff;
  transition: transform .3s;
}
.page-tour .tour-acc__head::after { transform: rotate(90deg); }
.page-tour .tour-acc__head[aria-expanded="true"]::after { transform: rotate(0deg); }
.page-tour .tour-acc__body { padding: 25px 0 10px; }

/* 駐車場 */
.page-tour .tour-parking {
  display: grid;
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-parking img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.page-tour .tour-parking p {
  margin: 8px 0 0;
  letter-spacing: .05em;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}
.page-tour .tour-parking .tour-parking__name { margin-top: 12px; font-size: 15px; }
.page-tour .tour-parking + .tour-btn { margin-top: 30px; }

/* 場内マップ */
.page-tour .tour-map__site { max-width: 400px; margin: 0 auto; }
.page-tour .tour-map__site img { display: block; width: 100%; }
.page-tour .tour-map__floor { margin-top: 30px; }
.page-tour .tour-map__floor h3 {
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
}
.page-tour .tour-map__floor img { display: block; width: 100%; }

/* 周辺施設からのアクセス（既存 .sec-7 のタイルを利用） */
.page-tour .tour-acc .sec-7 {
  margin: 0;
  padding: 25px 0 10px;
  border-top: 0;
}
.page-tour .tour-acc .sec-7 .row .sm-2 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  margin-bottom: 10px;
}
.page-tour .tour-acc .sec-7 .row .sm-2 p {
  margin: 0;
  padding: 0 5px;
  letter-spacing: 0;
  font-size: 13px;
  line-height: 1.7;
}
.page-tour .tour-acc .sec-7 .row .sm-2 p span { font-size: 15px; }

/* ---------- パンフレット ---------- */
.page-tour .tour-pamphlet {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-pamphlet li { width: 100%; max-width: 300px; }
.page-tour .tour-pamphlet a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding: 0 40px;
  border-radius: 45px;
  background-color: var(--tour-green);
  color: #fff !important;
  font-size: 17px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: opacity .3s;
}
.page-tour .tour-pamphlet a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 35px;
  width: 11px;
  height: 11px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
.page-tour .tour-pamphlet a:hover { opacity: .8; }

/* ---------- お申込みはこちら ---------- */
.page-tour .tour-apply {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.page-tour .tour-apply li + li { margin-top: 15px; }
.page-tour .tour-apply__contact {
  margin: 30px 0 0;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
.page-tour .tour-apply__contact a { text-decoration: underline; }

/* ---------- 右下固定ボタン ---------- */
/* お申込み(#page-top2)・トップへ戻る(#page-top3)は style.css の既存スタイルを使用 */
#page-top { display: none !important; } /* 共通「ページ先頭へ」は #page-top3 に置き換え */
.page-tour #page-top2 a::after { top: 50%; transform: translateY(-50%); line-height: 0; } /* 2行のため矢印を上下中央に */
.page-tour #page-top2 a { line-height: 1.4; } /* 2行のため行間を詰める */

/* =========================================================
   PC（768px〜）
========================================================= */
@media screen and (min-width: 768px) {
  .page-tour .tour-sec { margin-top: 80px; }
  .page-tour .tour-sec--right .tour-sec__ttl { text-align: right; }
  .page-tour .tour-sec__ttl { padding-bottom: 10px; font-size: 24px; }
  .page-tour .tour-sec__read { margin-top: 33px; text-align: center; }

  .page-tour .heding .pause { margin-top: 30px; }

  /* フロー */
  .page-tour .tour-flow { margin-top: 30px; padding: 25px 30px 30px; }
  .page-tour .tour-flow__ttl { margin-bottom: 20px; font-size: 24px; }
  .page-tour .tour-flow__notes { font-size: 14px; }
  .page-tour .tour-flow__steps { margin-top: 30px; }
  .page-tour .tour-flow__steps li { width: 230px; }
  .page-tour .tour-flow__steps li:not(:last-child)::after {
    top: 25px;
    right: -7px;
    border-width: 25px 0 25px 15px;
  }
  .page-tour .tour-flow__icon { width: 100px; height: 100px; }
  .page-tour .tour-flow__icon img { width: auto; }
  .page-tour .tour-flow__steps p { font-size: 14px; letter-spacing: .05em; }

  /* ページ内メニュー */
  .page-tour .tour-anchor { margin-top: 50px; padding-top: 50px; }
  .page-tour .tour-anchor ul { grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .page-tour .tour-anchor a { min-height: 115px; padding: 15px 5px 35px; }
  .page-tour .tour-anchor a:hover { background-color: var(--tour-text); color: #fff; }
  .page-tour .tour-anchor__main { font-size: 20px; }
  .page-tour .tour-anchor__sub { font-size: 13px; }
  .page-tour .tour-sec#factory { margin-top: 100px; }

  /* 工場見学 */
  .page-tour .tour-factory {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 50px;
  }
  .page-tour .tour-factory__table { width: 450px; }
  .page-tour .tour-factory__slider { width: 500px; margin: 0; }
  .page-tour .tour-factory__slider .swiper-pagination { margin-top: 15px; }
  .page-tour .tour-factory__table { letter-spacing: 0; }
  .page-tour .tour-factory__table > div { padding: 18px 10px 18px 20px; }
  .page-tour .tour-factory__foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-top: 10px;
  }
  .page-tour .tour-factory__foot .tour-note { margin: 0; }
  .page-tour .tour-factory__foot .tour-btn { flex: 0 0 400px; margin: 0; }

  /* お食事 */
  .page-tour .tour-restaurant {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 50px;
  }
  .page-tour .tour-restaurant__menu { width: 620px; }
  .page-tour .tour-menu { grid-template-columns: repeat(3, 200px); gap: 24px 10px; }
  .page-tour .tour-menu p { margin-top: 10px; }
  .page-tour .tour-note--center { margin-top: 25px; }
  .page-tour .tour-restaurant__info { width: 330px; margin-top: 0; }
  .page-tour .tour-restaurant__info .tour-table { letter-spacing: 0; }
  .page-tour .tour-restaurant__info .tour-table > div { padding: 20px 10px 18px 20px; }
  .page-tour .tour-restaurant__info .tour-note { margin: 20px 0 40px; }
  .page-tour .tour-restaurant__info .tour-btn .boxlink-sp-bk-pc-white:after,
  .page-tour .tour-btn .boxlink-sp-bk-pc-white:after {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    line-height: 0;
  }

  /* お買い物 */
  .page-tour .tour-shop {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 55px;
  }
  .page-tour .tour-shop__ph { width: 500px; }
  .page-tour .tour-shop__body {
    display: flex;
    flex-direction: column;
    width: 450px;
    margin-top: 0;
    padding-top: 20px;
  }
  .page-tour .tour-shop__label { margin-bottom: 30px; }
  .page-tour .tour-shop .tour-btn { margin-top: 50px; }

  /* 自由散策 */
  .page-tour .tour-spot { gap: 30px 50px; margin-top: 50px; }
  .page-tour .tour-spot li { width: 300px; }

  /* アコーディオン */
  .page-tour .tour-acc__head { padding: 15px 70px 15px 30px; font-size: 20px; }
  .page-tour .tour-acc__head::before,
  .page-tour .tour-acc__head::after { right: 30px; }
  .page-tour .tour-acc__body { padding: 30px 50px 20px; }
  .page-tour .tour-parking { grid-template-columns: repeat(3, 1fr); gap: 30px; }
  .page-tour .tour-parking p { font-size: 14px; }
  .page-tour .tour-parking .tour-parking__name { margin-top: 15px; font-size: 16px; }
  .page-tour .tour-parking + .tour-btn { margin-top: 50px; }
  .page-tour .tour-map {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .page-tour .tour-map__site { width: 280px; margin: 0; }
  .page-tour .tour-map__floor { width: 592px; margin: 0; }
  .page-tour .tour-map__floor h3 { margin-bottom: 20px; font-size: 20px; }
  .page-tour .tour-acc .sec-7 { padding: 30px 50px 10px; }
  .page-tour .tour-acc .sec-7 .row .sm-2 { min-height: 100px; margin-bottom: 20px; }
  .page-tour .tour-acc .sec-7 .row .sm-2 p { font-size: 14px; }
  .page-tour .tour-acc .sec-7 .row .sm-2 p span { font-size: 16px; }

  /* パンフレット */
  .page-tour .tour-pamphlet { flex-direction: row; justify-content: center; gap: 30px; }
  .page-tour .tour-pamphlet a { height: 120px; border-radius: 60px; font-size: 20px; }

  /* お申込み */
  .page-tour .tour-apply li + li { margin-top: 20px; }
  .page-tour .tour-apply__contact { font-size: 16px; }

}

/* 2026.10.01 PC表示の不要な折り返し調整 */
@media screen and (min-width: 768px) {
  .page-tour .tour-acc .sec-7 .row .sm-2 p { white-space: nowrap; }
  .page-tour .tour-restaurant__info .tour-table > div { padding-right: 0; }
  .page-tour .tour-parking p { letter-spacing: 0; margin-left: -10px; margin-right: -10px; }
}
