@charset "UTF-8";
/* ==========================================================================
 * sightseeing.css — 観光タクシー（sightseeing.php）固有スタイル
 * ========================================================================== */

/* ============ INTRO ============ */
.sg-intro{ background:#fefefe; padding:64px 24px 72px; }
.sg-intro__inner{ max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; }
.sg-intro__title{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:28px; line-height:1.5; color:var(--mtx-blue); margin:0 0 18px; }
.sg-intro__text{ font-size:16px; line-height:2; color:#3a3f5a; margin:0 0 30px; }
.sg-intro__btns{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sg-intro__btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:15px; padding:14px 20px; border-radius:8px; text-decoration:none; text-align:center; transition:opacity .25s ease,background .25s ease; }
.sg-intro__btn--gold{ background:var(--mtx-gold); color:#fff; }
.sg-intro__btn--gold:hover{ opacity:.9; }
.sg-intro__btn--outline{ background:#fff; border:1.5px solid var(--mtx-blue); color:var(--mtx-blue); }
.sg-intro__btn--outline:hover{ background:rgba(0,58,151,.05); }
.sg-intro__img{ position:relative; aspect-ratio:4/3; border-radius:20px; overflow:hidden; box-shadow:0 14px 34px rgba(19,26,134,.14); background:#eef1f5; }
.sg-intro__img img{ width:100%; height:100%; object-fit:cover; }
@media(max-width:860px){
  .sg-intro__inner{ grid-template-columns:1fr; gap:30px; }
}
@media(max-width:640px){
  .sg-intro__title{ font-size:22px; text-align:center; text-wrap:balance; word-break:auto-phrase; }
  .sg-intro__btn{ font-size:12px; letter-spacing:0; padding:14px 15px; }
  .sg-reason__ctitle{ font-size:18px; }
}

/* ============ REASON ============ */
.sg-reason{ background:#f4f5f7; padding:88px 24px; }
.sg-reason__inner{ max-width:1120px; margin:0 auto; }
.sg-reason__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:start; }
.sg-reason__card{ position:relative; background:#fff; border:1px solid rgba(19,26,134,.08); border-radius:20px; padding:44px 28px 34px; box-shadow:0 8px 22px rgba(19,26,134,.06); text-align:center; margin-top:28px; }
.sg-reason__num{ position:absolute; top:-28px; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:linear-gradient(140deg,#D9C05F,#C6A63C); box-shadow:0 8px 18px rgba(160,128,40,.3); border:4px solid #f4f5f7; font-family:"Barlow",sans-serif; font-weight:800; font-size:26px; color:#fff; line-height:1; }
.sg-reason__ctitle{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:19px; color:var(--mtx-blue); margin:20px 0 14px; padding-bottom:14px; border-bottom:2px dotted #d5d8e0; line-height:1.6; }
.sg-reason__ctext{ font-size:14px; line-height:1.9; color:#4a4f66; margin:0; text-align:left; }
@media(max-width:860px){
  .sg-reason__grid{ grid-template-columns:1fr; gap:44px; }
}

/* ============ 車両ラインナップ ============ */
.sg-fleet{ background:#fefefe; padding:88px 24px; }
.sg-fleet__inner{ max-width:1120px; margin:0 auto; }
.sg-fleet__grid{ display:grid; grid-template-columns:1fr; gap:20px; max-width:1000px; margin:0 auto; }
.sg-fleet__lead-line{ display:inline-block; position:relative; background:var(--mtx-blue); color:#fff; font-family:"Zen Kaku Gothic New",sans-serif; font-size:15px; font-weight:700; line-height:1.4; padding:9px 24px; border-radius:30px; margin-bottom:20px; box-shadow:0 6px 14px rgba(19,26,134,.18); }
.sg-fleet__lead-line::after{ content:""; position:absolute; left:50%; bottom:-8px; transform:translateX(-50%); width:0; height:0; border-left:9px solid transparent; border-right:9px solid transparent; border-top:10px solid var(--mtx-blue); }
.sg-fleet__card{ display:flex; gap:40px; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 8px 22px rgba(19,26,134,.07); align-items:stretch; }
.sg-fleet__img{ position:relative; width:300px; flex:none; align-self:stretch; min-height:180px; background:#eef1f5; }
.sg-fleet__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sg-fleet__body{ padding:35px 32px 35px 0; align-self:center; }
.sg-fleet__tag{ display:inline-block; background:rgba(198,166,60,.14); color:var(--mtx-gold-text); font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:13px; padding:5px 14px; border-radius:16px; margin-bottom:10px; }
.sg-fleet__name{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:20px; color:var(--mtx-blue); margin:0 0 8px; }
.sg-fleet__text{ font-size:14.5px; line-height:1.9; color:#4a4f66; margin:0; }
@media(max-width:640px){
  .sg-fleet__card{ flex-direction:column; gap:0; }
  .sg-fleet__img{ width:100%; height:200px; }
  .sg-fleet__body{ padding:22px 24px; align-self:auto; }
}

/* ============ 料金表 ============ */
.sg-price{ background:#fefefe; padding:88px 24px; }
.sg-price__inner{ max-width:900px; margin:0 auto; }
.sg-price__head{ margin-bottom:14px; }
.sg-price__head .mtx-sec-title{ margin:0 0 12px; }
.sg-price__lead{ font-size:15px; color:#3a3f5a; margin:0 auto 40px; max-width:560px; line-height:1.9; }
.sg-price__lead strong{ color:var(--mtx-gold-text); }
.sg-price__table{ border-radius:20px; overflow:hidden; border:1px solid rgba(19,26,134,.08); }
.sg-price__row{ display:grid; grid-template-columns:1fr 1fr; background:#fff; border-top:1px solid rgba(19,26,134,.07); }
.sg-price__row--head{ background:var(--mtx-blue); color:#fff; border-top:none; }
.sg-price__row--alt{ background:#f4f5f7; }
.sg-price__cell{ padding:16px 28px; font-weight:500; color:var(--mtx-txt); }
.sg-price__row--head .sg-price__cell{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:15px; color:#fff; }
.sg-price__cell--right{ text-align:right; }
.sg-price__yen{ font-family:"Barlow",sans-serif; font-weight:800; font-size:19px; color:var(--mtx-gold-text); }
.sg-price__note{ background:#f4f5f7; border-radius:16px; padding:24px 30px; margin-top:26px; }
.sg-price__note-title{ font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:15px; color:var(--mtx-blue); margin:0 0 8px; padding-bottom:10px; border-bottom:1px solid rgba(19,26,134,.1); }
.sg-price__note ul{ margin:0; padding-left:0; list-style:none; font-size:13.5px; line-height:1.85; color:#4a4f66; }
.sg-price__note li{ margin-top:6px; }
.sg-price__note li:first-child{ margin-top:0; }

/* ============ FLOW（共通 .mtx-flow を使用） ============ */
.sg-flow{ background:#f4f5f7; padding:88px 24px; }
.sg-flow__inner{ max-width:1080px; margin:0 auto; }

/* ============ スマホ文字サイズ調整（追加） ============ */
@media(max-width:640px){
  .sg-intro__text{ font-size:15px; }
  .sg-fleet__name{ font-size:18px; }
  .sg-fleet__text{ font-size:14px; }
  .sg-fleet__lead-line{ font-size:13.5px; padding:8px 18px; }
  .sg-price__lead{ font-size:14px; }
  .sg-price__cell{ padding:14px 16px; font-size:14px; }
  .sg-price__yen{ font-size:17px; }
}

/* ============ スマホ見出しサイズ（末尾で確実に上書き） ============ */
@media(max-width:640px){
  .sg-reason__ctitle{ font-size:18px; }
}
