/* =========================
  観光情報ページ用 CSS
  add 2026/05/26
========================= */

    .tour-table {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 30px;
    }
    .tour-table th,
    .tour-table td {
      border: 1px solid #ddd;
      padding: 12px;
      text-align: left;
    }
    .tour-table th {
      background-color: #f8f8f8;
      color: #7b5c3f;
      font-weight: 600;
      width: 150px;
    }

    .tour-spot-card{
      border:none;
      border-radius:14px;
      overflow:hidden;
      margin-bottom:40px;
      box-shadow:0 5px 18px rgba(0,0,0,0.08);
      background:#fff;
    }

    .tour-spot-image{
      position:relative;
      height:100%;
      min-height:420px;
      overflow:hidden;
    }

    .tour-spot-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:0.4s;
    }

    .tour-spot-card:hover img{
      transform:scale(1.03);
    }

    .tour-badge{
      position:absolute;
      top:20px;
      left:20px;
      z-index:2;
      font-size:14px;
      padding:8px 14px;
      border-radius:30px;
      font-weight:bold;
      letter-spacing:0.05em;
    }

    .badge-popular{
      background:#c0392b;
      color:#fff;
    }

    .badge-recommend{
      background:#b88a5a;
      color:#fff;
    }

    .tour-content{
      padding:40px 35px;
    }

    .tour-category{
      font-size:14px;
      color:#999;
      margin-bottom:10px;
      letter-spacing:0.08em;
    }

    .tour-title{
      font-size:34px;
      font-weight:700;
      margin-bottom:20px;
      color:#4a3827;
      line-height:1.4;
    }

    .tour-description{
      font-size:1.1em;
      line-height:2;
      color:#555;
      margin-bottom:30px;
    }

    .tour-info{
      margin-bottom:30px;
    }

    .tour-info li{
      list-style:none;
      margin-bottom:12px;
      font-size:16px;
      color:#555;
    }

    .tour-info strong{
      display: inline-block;
      width: 6em;
      color:#7b5c3f;
    }

    .tour-btn{
      display:inline-block;
      background:#8c6b4f;
      color:#fff;
      padding:14px 30px;
      border-radius:8px;
      text-decoration:none;
      transition:0.3s;
      font-size:17px;
    }

    .tour-btn:hover{
      background:#715338;
      color:#fff;
      text-decoration:none;
    }
    /* バッジ（落ち着いた和色） */
    .badge-omakase{
      background:#a53a04; /* 茶系 */
      color:#fff;
      font-weight:500;
      padding:6px 10px;
      border-radius:20px;
      font-size:0.75rem;
    }

    .badge-ninki{
       /* background:#b94a48;落ち着いた朱 */
      color:#b94a48;
      font-weight:500;
      padding:6px 10px;
      /* border-radius:20px; */
      font-size:0.75rem;
    }

    /* =========================
      コース詳細 dlデザイン
    ========================= */

    .tour-detail{
      margin-bottom:35px;
    }

    .tour-detail dl{
      margin:0;
    }

    /* 1行 */
    .tour-detail .detail-row{
      display:flex;
      align-items:flex-start;
      padding: 0.8em 0;
      border-bottom:1px solid #ece7df;
      margin-left: 1em;
      margin-right: 1em;
    }

    /* 項目名 */
    .tour-detail dt{
      width:180px;
      min-width:180px;
      margin:0;
      font-size:1em;
      font-weight:700;
      color:#8a6746;
      letter-spacing:0.08em;
      line-height:1.2;
    }

    /* 内容 */
    .tour-detail dd{
      flex:1;
      margin:0;
      font-size:1em;
      color:#444;
      line-height:1.4;
    }

    .card {
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.06);
      transition: box-shadow 0.3s ease, transform 0.3s ease;
    }
    .card:hover {
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15), 0 12px 32px rgba(0, 0, 0, 0.1);
      transform: translateY(-4px);
    }

    .card-subtitle {
      width: fit-content;
      font-size: 0.875em;
      font-weight: 500;
      color: #075e20;
      background: #fffdee;
      padding: 0.3em 0.6em;
      border:#075e20 1px solid;
      border-radius: 4px;
      margin-bottom: 0.5em;
    }
    /* =========================
      モバイル
    ========================= */

    @media(max-width:767px){

      .tour-detail .detail-row{
        display:block;
        padding:14px 0;
        margin-left: 0;
        margin-right: 0;
      }

      .tour-detail dt{
        width:100%;
        min-width:100%;
        margin-bottom:6px;
        font-size:1.2em;
      }

      .tour-detail dd{
        font-size:1em;
        line-height:1.4;
      }

    }

    @media (max-width:991px){
      .tour-spot-image{
        min-height:300px;
      }
      .tour-content{
        padding:30px 25px;
      }
      .tour-title{
        font-size:28px;
      }
    }
