/* 今回足した手直し（2026-11-10）。旧の CSS（screen.css ほか）は触らず、ここで上書きする */

/* ヘッダーの題: トップ以外は h1 を本文（h1.out）に譲り、見た目が同じ p にした */
.header .site-h1 { color: #fff; float: left; line-height: 40px; font-size: 16px; }
/* ヘッダーの電話の絵の営業時間を今のもの（平日 9:00-18:00・土 9:00-13:00）に */
.header .global { background-image: url(../img/header/tel-20261110.png); }
/* 運営会社と姉妹サイトの1行 */
.footer-operator { background: #333; color: #ddd; font-size: 13px; line-height: 1.7; text-align: center; padding: 10px 16px; }
.footer-operator a { color: #fff; }
/* 確認用のページの案内・ボットよけの欄 */
.form-off { background: #fff3cd; border: 1px solid #f0c36d; padding: 10px 14px; margin: 0 0 16px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* 旧「団体旅行モール」の本文（会社案内・オーダーメイドの各旅行）をこのサイトの枠に入れたときの見出しと表 */
.legacy-page { background: #fff; padding: 20px; box-sizing: border-box; }
.legacy-page h1 { font-size: 24px; font-weight: bold; border-left: 6px solid #fec503; padding-left: 10px; margin: 0 0 16px; }
.legacy-page h2 { font-size: 20px; font-weight: bold; margin: 20px 0 10px; }
.legacy-page h3 { font-size: 18px; font-weight: bold; margin: 16px 0 8px; }
.legacy-page p { margin: 0 0 12px; }
.legacy-page table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
.legacy-page td, .legacy-page th { border: 1px solid #ddd; padding: 8px 10px; vertical-align: top; }
.legacy-page td.th { background: #fff7d6; width: 30%; font-weight: bold; }
.legacy-page img { max-width: 100%; height: auto; }
.legacy-page .image-left { float: left; margin: 0 10px 10px 0; }
/* 検索の一覧: 旧はカードの中にリンクが二重（プラン名）になっていたので、プラン名は文字に */
.search-list .plan-link { color: #06c; text-decoration: underline; }
.table-scroll { max-width: 100%; }
/* 宿のプランの電話番号に tel: のリンクを付けた分（ご利用の流れの大きな電話の飾りが付かないように） */
#plan .contact .tel a { background: none; padding: 0; font-size: inherit; color: inherit; text-decoration: none; }

/* ---------------------------------------------------------------- スマホ（〜767px）
   旧サイトは幅 1000px 固定（viewport は device-width なのに）で、スマホでは横にはみ出していた。
   見た目は旧のまま、幅だけ画面に合わせる（横スクロールなし・本文 15px 以上・押す所 44px 以上） */
@media (max-width: 767px) {
  html, body { overflow-x: hidden; }
  body { font-size: 15px; -webkit-text-size-adjust: 100%; }
  img { max-width: 100%; height: auto; }
  .header .in, .eyecatch .in, .contents, .location .in, .footer .footer-top .in, .footer .footer-bottom .in, .pagecate .pagecate-in { width: auto !important; max-width: 100%; box-sizing: border-box; }
  .contents { padding: 0 12px; }
  .main, .sidebar { width: auto !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
  .sidebar { margin-top: 20px; }
  h1.out { width: auto; margin: 0 12px 16px; padding: 12px 14px; font-size: 20px; }
  h1.out span { font-size: 15px; }
  h2.out { font-size: 18px; line-height: 1.5; padding: 10px 12px; }

  /* ヘッダー */
  .header .in .in { padding: 0 12px; }
  .header h1, .header .site-h1 { float: none; font-size: 13px; line-height: 1.5; padding: 6px 0 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .header .subnav { float: none; line-height: 1.5; padding: 4px 0 6px; }
  .header .subnav li a { margin: 0 14px 0 0; display: inline-block; min-height: 44px; line-height: 44px; }
  .header .logo { float: none; margin: 8px 12px 0; }
  .header .logo img { width: 170px; }
  .header .global { padding: 44px 0 0; background-size: 300px auto; background-position: 12px 4px; }
  .header .menu { display: flex; flex-wrap: wrap; padding: 0 8px 8px; float: none; }
  .header .menu > li { float: none !important; flex: 1 1 50%; box-sizing: border-box; margin: 0 !important; }
  .header .menu > li > a { display: block; min-height: 44px; line-height: 44px !important; text-align: center; padding: 0 4px !important; font-size: 15px; }
  .header .menu > li .sub { display: none !important; }

  /* トップの大きな絵 */
  .eyecatch { background-size: cover; background-position: center; }
  .eyecatch { height: 180px; background-size: cover; }
  .eyecatch .in .text { position: static; font-size: 24px; line-height: 1.5; padding: 44px 12px 0; }

  /* パンくず */
  .location .in { padding: 6px 12px; }
  .location .in li { font-size: 13px; }

  /* 区切り（各 section の中の固定幅） */
  .section, .section-in, .search, .order, .contact { width: auto !important; max-width: 100%; box-sizing: border-box; }
  .search .map, .search .onsen, .search .keyword { float: none !important; width: auto !important; }
  /* 都道府県の地図: スマホでは地図の絵をやめて、地方ごとの一覧に（押す所を 44px に） */
  .search .area { height: auto !important; background: none !important; padding: 0 10px 10px !important; }
  .search .area .area-in { width: auto !important; background: none !important; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
  .search .area dl { position: static !important; float: none !important; background: none !important; width: auto !important; height: auto !important; margin: 0 !important; }
  .search .area dl dt { font-weight: bold; border-bottom: 1px solid #eee; }
  .search .area dl dd br { display: none; }
  .search .area dl dd a { display: inline-block !important; min-width: 44px; min-height: 44px; line-height: 44px; padding: 0 4px; }
  .search .onsen li { width: 48% !important; margin: 0 1% 8px !important; }
  .search .keyword form { display: flex; gap: 6px; }
  .search .keyword form input[type="text"] { flex: 1; width: auto !important; min-height: 44px; font-size: 16px; }
  .search .keyword form input[type="submit"] { width: 96px !important; min-height: 44px; }
  .search .onsenlist li { width: 48% !important; margin: 0 1% 8px !important; float: left; font-size: 14px; }
  .tabnavi { display: flex; flex-wrap: wrap; }
  .tabnavi li { float: none !important; flex: 1 1 25%; }
  .tabnavi li a { display: block; min-height: 44px; line-height: 44px; padding: 0 2px !important; text-align: center; font-size: 14px; }
  .tabcontent ul li { width: 46% !important; margin: 0 2% 12px !important; }
  .tabcontent ul li img { width: 100% !important; }
  .order .catch { background-size: 40% auto; }
  .order .catch .text { width: auto !important; }
  .order .list-icon li, .order .list-order li { width: 31% !important; margin: 0 1% 12px !important; float: left; }
  .order .list-icon, .order .list-order { overflow: hidden; }
  .btn a, p.btn a { min-height: 44px; box-sizing: border-box; }

  /* ご利用の流れ・フッター */
  .contact h2 { font-size: 22px; line-height: 1.5; padding: 0 12px; }
  .contact .catch { font-size: 16px; padding: 0 12px; }
  .contact .contact-in { width: auto !important; padding: 12px !important; box-sizing: border-box; }
  .contact .contact-in ul li { float: none !important; width: auto !important; margin: 0 0 12px !important; }
  .contact .tel, .contact .mail { float: none !important; width: auto !important; }
  .contact .tel a { display: inline-block; min-height: 44px; font-size: 30px; padding-left: 44px; background-size: 36px auto; }
  .footer .footer-bottom .in { padding: 12px; box-sizing: border-box; }
  .footer .footer-bottom .company p { font-size: 15px; }
  .footer .footer-bottom .company a, .footer-operator a { display: inline-block; min-height: 44px; line-height: 44px; }
  .footer .footer-bottom .company, .footer .footer-bottom .sitemap { float: none !important; width: auto !important; }
  .footer .footer-bottom .sitemap > li { width: 33% !important; }
  .footer .footer-bottom .sitemap a, .footer .link a { display: inline-block; min-height: 44px; line-height: 44px; }
  .footer .pagetop { position: static; }

  /* 宿のページ */
  #yado .kihon .photo, #yado .kihon .content { float: none !important; width: auto !important; }
  #yado .kihon .photo ul { overflow: hidden; }
  #yado .kihon .photo .big { width: 100% !important; }
  #yado .kihon .photo .small { width: 49% !important; margin: 1% 0 0 !important; float: left; }
  #yado .kihon .photo .small.left { margin-right: 2% !important; }
  #yado .kihon .photo img { width: 100%; }
  .kihon .content dl dd { width: calc(100% - 72px) !important; }
  .kihon .content dl dd li { margin-bottom: 4px; }
  #plan dl dt { float: none !important; width: auto !important; }
  #plan dl dd { margin-left: 0 !important; width: auto !important; }
  #plan .contact .tel { font-size: 24px; line-height: 44px; padding-left: 44px; background-size: 36px auto; }
  .tab ul { display: flex; flex-wrap: wrap; }
  .tab ul li { float: none !important; flex: 1 1 50%; width: auto !important; }
  .tab ul li a { display: block; min-height: 44px; line-height: 44px; text-align: center; font-size: 14px; padding: 0 4px !important; }
  #plan .section .in .content, #plan .section .in .photo { float: none !important; width: auto !important; }
  #plan h2 { font-size: 17px; line-height: 1.5; }
  #plan h2 .head_submit { position: static !important; margin: 8px 0 0; }
  #plan .contact .tel, #plan .contact .submit { float: none !important; width: auto !important; }
  #plan button, .head_submit button { min-height: 44px; padding: 0 16px; font-size: 15px; }
  .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  #detail table th, #detail table td { display: block; width: auto !important; }
  #photo ul.fancy li { width: 48% !important; margin: 0 1% 10px !important; }
  #kuchikomi li { font-size: 15px; }

  /* 検索の一覧 */
  .search-list li .photo, .search-list li .content { float: none !important; width: auto !important; }
  .search-list li .photo .big { width: 100% !important; }
  .search-list li .photo .small { width: 24% !important; margin: 1% 1% 0 0 !important; float: left; }
  .search-list > li .content dl dt { width: 60px !important; }
  .search-list > li .content dl dd { width: calc(100% - 60px) !important; box-sizing: border-box; }
  .search-list > li .content dl dt, .search-list > li .content dl dd { font-size: 15px; }
  .search-list .plan table { min-width: 520px; font-size: 15px; }
  .search-list > li .content .profile { font-size: 15px; }
  ul.pager { display: flex; flex-wrap: wrap; float: none !important; }
  ul.pager li a { display: inline-block; min-width: 44px; min-height: 44px; line-height: 44px; text-align: center; }
  p.hit { float: none !important; }

  /* 問い合わせ */
  #mail table th, #mail table td { display: block; width: auto !important; box-sizing: border-box; }
  #mail input[type="text"], #mail input[type="email"], #mail input[type="tel"], #mail textarea { width: 100% !important; box-sizing: border-box; font-size: 16px; min-height: 44px; }
  #mail select { min-height: 44px; font-size: 16px; }
  #mail label { display: inline-block; min-height: 44px; line-height: 44px; }
  #mail input[type="submit"] { width: 100%; min-height: 48px; font-size: 17px; }

  /* 右の列 */
  .sidebar .section { width: auto !important; }
  .sidebar input[type="text"] { min-height: 44px; font-size: 16px; }
  .sidebar input[type="submit"] { min-height: 44px; }
  .sidebar .list-rank a, #same-area-hotels li a { display: block; min-height: 44px; }

  .legacy-page { padding: 14px; }
  .kihon .content dl dd a, #same-area-hotels h3 a, .main .section p a { display: inline-block !important; min-height: 44px; line-height: 44px; }
  .legacy-page td a { display: inline-block; min-height: 44px; line-height: 44px; }
  .search .onsenlist li a, .tabcontent ul li a { display: block; min-height: 44px; }
  .location .in li a { display: inline-block; min-height: 44px; line-height: 44px; }
  .legacy-page td.th { width: 34%; }
  .legacy-page table { table-layout: fixed; word-break: break-all; }
}
