  /* ================= THEME: Land Cruise Green ================= */
        :root {
                --primary-color: #0056b3; 
            --qa-burgundy: #8a1538;     /* Qatar Burgundy */
            --qa-burgundy-dark: #680f28;
            --qa-light: #fcecef;
            --text-main: #333333;
            --text-sub: #666666;
            --bg-body: #f4f6f9;
            --bg-white: #ffffff;
            --lc-green: #2e8b57;
            --lc-dark: #246d44;
            --lc-light: #e8f5e9;
            --text-main: #333333;
            --text-sub: #666666;
            --bg-body: #f4f7f9;
            --bg-white: #ffffff;
            --border-color: #ddd;
    --primary-color: #0056b3;
    --primary-dark: #004494;
    --accent-gold: #c5a059;
                --brand-blue: #3c76b6;
            --icon-gray: #5e6a7d;
                --price-color: #d92d20;
        }

        body { font-family: "Noto Sans JP", sans-serif; margin: 0; padding: 0; background-color: var(--bg-body); color: var(--text-main); font-size: 14px; line-height: 1.6;background: #fff; }
        a { text-decoration: none; color: inherit; transition: 0.2s; }
        ul { list-style: none; padding: 0; margin: 0; }
        .container { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
        .hidden { display: none !important; }
        .fade-in { animation: fadeIn 0.4s ease-in-out; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        /* Brand Toolbar */
        .brand-toolbar { background-color: #f8f9fa; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; width: 100%; position: sticky; top: 0; z-index: 1000; }
        .brand-toolbar .container { display: flex; justify-content: space-between; align-items: center; height: 60px; }
        .brand-toolbar-title { font-size: 18px; font-weight: bold; color: var(--lc-green); margin: 0; }
        .brand-toolbar-btns { display: flex; gap: 12px; }
        .btn-pill { background: #fff; border: 1px solid #bbb; color: #333; padding: 8px 24px; border-radius: 50px; font-size: 14px; font-weight: bold; cursor: pointer; transition: 0.2s; white-space: nowrap; }
        .btn-pill:hover { border-color: var(--lc-green); color: var(--lc-green); }
        /* ================= Local Nav ================= */
/*        .local-nav { background: #f4f6f9; border-bottom: 1px solid #e5e5e5; padding: 12px 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 5px rgba(0,0,0,0.03); }*/
.local-nav { background: #f4f6f9; border-bottom: 1px solid #e5e5e5; padding: 12px 0; position: sticky; top: 100px; z-index: 9; box-shadow: 0 2px 5px rgba(0,0,0,0.03); }
        .local-nav-inner { display: flex; justify-content: space-between; align-items: center; }
        .local-title { font-weight: bold; color: var(--lc-green); font-size: 15px; }
        .local-links a { margin-left: 20px; font-weight: bold; font-size: 13px; color: #555; cursor: pointer; transition: 0.2s; background: #fff; padding: 6px 15px; border-radius: 50px; border: 1px solid #ddd;}
        .local-links a:hover { color: var(--primary-color); border-color: var(--primary-color); }
        /* Intro */
        .destination-intro { background: #fff; padding: 40px 0; border-bottom: 1px solid #eee; margin-bottom: 0; }
        .intro-hero { 
            position: relative; height: 300px; border-radius: 8px; overflow: hidden; 
            background: linear-gradient(rgb(46, 139, 87), rgba(46, 139, 87, 0.8));
            display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; margin-bottom: 30px;
        }
        .intro-content h2 { font-size: 32px; font-weight: 800; margin: 0 0 10px; text-shadow: 0 2px 4px rgba(0,0,0,0.3); }
        .intro-content p { font-size: 16px; font-weight: 500; margin: 0; max-width: 800px; line-height: 1.6; }
        
        .usps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
        .usp-card { 
            background: #fff; border: 1px solid #eee; padding: 20px; border-radius: 8px; text-align: center; 
            transition: transform 0.3s; box-shadow: 0 4px 10px rgba(0,0,0,0.03); 
        }
        .usp-card:hover { transform: translateY(-5px); border-color: var(--lc-green); }
        .usp-icon { font-size: 30px; margin-bottom: 10px; display: block; }
        .usp-title { font-size: 16px; font-weight: bold; color: var(--lc-green); margin-bottom: 8px; display: block; }
        .usp-text { font-size: 13px; color: #666; text-align: left; line-height: 1.6; }

        /* Layout */
        .page-wrapper { display: block; padding: 30px 0; }
        
        /* List View & Search Bar */
        .list-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }
        .list-header-left { flex: 1; }
        .list-title { font-size: 24px; color: var(--lc-green); margin: 0 0 5px 0; }

        .list-desc { font-size: 14px; color: #666; margin: 0; }
        
        .search-wrapper { position: relative; margin-left: 20px; }
        .search-input { padding: 10px 15px 10px 35px; border: 1px solid #ccc; border-radius: 50px; font-size: 14px; width: 250px; outline: none; transition: 0.2s; box-sizing: border-box; }
        .search-input:focus { border-color: var(--lc-green); box-shadow: 0 0 5px rgba(46, 139, 87, 0.2); }
        .search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #999; font-size: 14px; pointer-events: none; }

        .plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
        .plan-card { background: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.05); cursor: pointer; transition: 0.2s; border: 1px solid transparent; display: flex; flex-direction: column; }
        .plan-card:hover { transform: translateY(-5px); border-color: var(--lc-green); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
        .card-body { padding: 15px; flex: 1; display: flex; flex-direction: column; }
        .card-tags { margin-bottom: 8px; }
        .c-tag { font-size: 10px; background: #eee; padding: 2px 6px; border-radius: 4px; margin-right: 4px; color: #666; }
        .tour-code { font-size: 11px; color: #888; margin-bottom: 4px; }
        .card-title { font-size: 16px; font-weight: bold; margin: 0 0 8px; color: var(--text-main); line-height: 1.4; }
        .card-desc { font-size: 12px; color: #666; margin-bottom: 15px; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
        .card-footer { display: flex; justify-content: flex-end; align-items: flex-end; padding-top: 10px; border-top: 1px dashed #eee; }
        .price-val { font-size: 14px; font-weight: bold; color: var(--lc-green); }

        /* Custom Inquiry Section */
        .custom-inquiry-section { background-color: #f8f9fa; padding: 50px 20px; text-align: center; border-radius: 8px; margin-top: 40px; }
        .custom-inquiry-title { color: var(--lc-green); font-size: 22px; font-weight: bold; margin: 0 0 15px 0; letter-spacing: 0.05em; }
        .custom-inquiry-desc { font-size: 14px; color: #333; margin: 0 0 30px 0; }
        .btn-custom-inquiry { background-color: var(--lc-green); color: #fff; border: none; padding: 16px 48px; border-radius: 50px; font-size: 16px; font-weight: bold; cursor: pointer; transition: 0.2s; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
        .btn-custom-inquiry:hover { background-color: var(--lc-dark); transform: translateY(-2px); }

        /* Detail View */
        .back-nav { padding: 0 0 15px; cursor: pointer; color: var(--lc-green); font-weight: bold; display: inline-flex; align-items: center; }
        .back-nav:hover { text-decoration: underline; }
/*        旧*/
        .tour-header-section { background: #fff; padding: 30px; border-radius: 12px; margin-bottom: 30px; box-shadow: 0 2px 5px rgba(0,0,0,0.03); display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
        .hero-gallery img { width: 100%; height: 300px; object-fit: cover; border-radius: 8px; }
        
        .tour-code-display { display: inline-block; background: #333; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 8px; border-radius: 3px; margin-bottom: 5px; }
        
        .detail-title { font-size: 26px; font-weight: bold; color: var(--lc-green); margin: 0 0 15px; line-height: 1.3; }
/*        .catch-copy { font-size: 16px; font-weight: bold; margin-bottom: 15px; border-left: 5px solid var(--lc-green); padding-left: 15px; line-height: 1.5; color: #333; }*/
/*ここまで旧*/

        .tour-header-section-vertical {
            background: #fff;
            padding: 30px;
            border-radius: 12px;
            margin-bottom: 30px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.03);
        }

        .tour-info-vertical {
            display: flex;
            flex-direction: column;
            gap: 25px; /* 各項目の間隔 */
        }

.tour-info-vertical .card-tags, .tour-info-vertical .detail-tour-code {
    margin-bottom: 5px;
    font-size: 13px;
    color: #888;
}
        
        .tour-info-vertical .tour-code-display {
            display: inline-block; background: #333; color: #fff; font-size: 12px; font-weight: bold; padding: 3px 8px; border-radius: 3px; margin-bottom: 5px;
        }

        .tour-info-vertical .detail-title {
            margin: 5px 0 0 0;
            font-size: 26px;
            font-weight: bold;
            line-height: 1.3;
        }

        .tour-info-vertical .catch-copy {
            margin: 0;
            font-size: 16px;
            font-weight: bold;
            line-height: 1.5;
            color: #333;
        }

        .tour-info-vertical p {
            margin: 0;
        }



/*        .detail-nav-bar { background: #fff; border-bottom: 2px solid var(--lc-green); margin-bottom: 30px; display: flex; position: sticky; top: 60px; z-index: 800; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }*/
        .detail-nav-bar { background: #fff; border-bottom: 2px solid var(--lc-green); margin-bottom: 30px; display: flex; position: sticky; top: 147px; z-index: 8; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
        .nav-item { padding: 15px 25px; cursor: pointer; font-weight: bold; color: #666; border-bottom: 3px solid transparent; transition: 0.2s; font-size: 14px; }
        .nav-item:hover, .nav-item.active { color: var(--lc-green); background: var(--lc-light); border-bottom-color: var(--lc-green); }

        .section-box { background: #fff; padding: 30px; margin-bottom: 30px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.03); border: 1px solid #e5e5e5; scroll-margin-top: 150px; }
        .section-h2 { font-size: 18px; font-weight: bold; color: var(--lc-green); margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #f0f0f0; display: flex; align-items: center; gap: 10px; }

.point-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.point-card {
    width: calc((100% - 60px) / 4);
    box-sizing: border-box;
    background: #fafafa;
    padding: 20px;
    border-radius: 8px;
    text-align: center;
    border: 1px solid #eee;
}
        .point-icon { font-size: 32px; display: block; margin-bottom: 10px; }
        .point-head { font-weight: bold; color: var(--lc-green); display: block; margin-bottom: 5px; }
        .point-desc { font-size: 13px; text-align: left; color: #666; }

        .itinerary-row { display: grid; grid-template-columns: 60px 1fr; gap: 20px; margin-bottom: 20px; border-left: 3px solid #eee; padding-left: 20px; align-items: start; }
        .day-label { font-weight: bold; color: var(--lc-green); background: #eef2f7; text-align: center; padding: 5px; border-radius: 4px; height: fit-content; font-size: 13px; margin-top: 0; }
        .schedule-time { color: #888; font-size: 12px; font-weight: bold; margin-right: 5px; }

        .hotel-list-item { display: flex; gap: 20px; border-bottom: 1px solid #eee; padding-bottom: 20px; margin-bottom: 20px; align-items: start; }
        .hotel-list-item:last-child { border-bottom: none; margin-bottom: 0; }
        .hotel-img { width: 160px; height: 110px; object-fit: cover; border-radius: 4px; background: #eee; flex-shrink: 0; }
        .hotel-info h4 { margin: 0 0 5px 0; color: var(--lc-green); font-size: 16px; }
        .star-rating { color: #f4c150; font-size: 14px; margin-bottom: 5px; }

        /* 情報ボックス＆クロスセル */
        .info-box-gray { background: #f8f9fa; border: 1px solid #e5e5e5; padding: 20px; border-radius: 6px; margin-bottom: 20px; }
        .info-box-gray h4 { color: var(--lc-green); font-size: 15px; margin: 0 0 10px 0; display: flex; align-items: center; gap: 8px; }
        .info-box-gray p { font-size: 13px; color: #555; margin: 0; line-height: 1.6; }
        .info-box-gray ul { list-style: disc; padding-left: 20px; font-size: 13px; color: #555; margin: 10px 0 0 0; }

        .cross-sell-box { background: #eef2f7; padding: 20px; border-radius: 6px; margin-bottom: 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
        .cross-sell-text h4 { font-size: 15px; color: var(--primary-color); margin: 0 0 5px 0; font-weight: bold; display: flex; align-items: center; gap: 8px; }
        .cross-sell-text p { font-size: 13px; color: #444; margin: 0; }
        .btn-outline-primary { background: #fff; border: 2px solid var(--primary-color); color: var(--primary-color); padding: 12px 24px; border-radius: 50px; font-size: 14px; font-weight: bold; cursor: pointer; transition: 0.2s; white-space: normal; display: inline-block; text-decoration: none; text-align: center; }
        .btn-outline-primary:hover { background: var(--primary-color); color: #fff; }

       .inclusion-grid { display: flex; flex-direction: column; gap: 20px; margin-bottom: 30px; }
        .inc-box { background: #f9f9f9; padding: 20px; border-radius: 6px; }
        .inc-box.included { border-color: var(--lc-green); }
        .inc-box.excluded { border-color: var(--price-color); }
        .inc-title { font-weight: bold; margin-bottom: 10px; display: block; font-size: 14px; }
        .inc-list { list-style: disc; padding-left: 20px; font-size: 13px; color: #555; margin: 0; }
        
        .policy-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 20px; }
        .policy-table th { background: #f0f0f0; padding: 10px; text-align: left; border: 1px solid #ddd; width: 40%; font-weight: bold; color: #555; }
        .policy-table td { padding: 10px; border: 1px solid #ddd; color: #333; }

        /* Calendar & Room Selector */
        .room-type-selector { background: #f8f9fa; padding: 15px; border-radius: 6px; margin-bottom: 20px; border: 1px solid #e5e5e5; display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
        .room-type-selector label { cursor: pointer; font-size: 14px; font-weight: bold; display: flex; align-items: center; }
        .room-type-selector input[type="radio"] { accent-color: var(--lc-green); transform: scale(1.2); margin-right: 8px; cursor: pointer; }
        
        .calendar-wrapper { border: 1px solid #ddd; border-radius: 8px; padding: 20px; background: #fff; max-width: 100%; box-sizing: border-box; }
        .cal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }
        .cal-title { font-weight: bold; font-size: 18px; color: var(--lc-green); }
        .cal-btn { background: #eee; border: none; padding: 5px 15px; border-radius: 4px; cursor: pointer; }
        .cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; text-align: center; }
        .cal-day-name { font-weight: bold; color: #666; font-size: 12px; padding-bottom: 10px; }
        .cal-cell { border: 1px solid #eee; border-radius: 4px; min-height: 70px; padding: 5px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; cursor: default; }
.cal-cell {
    border: 1px solid #eee;
    border-radius: 4px;
    min-height: 50px;
    padding: 12px 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
/*    cursor: pointer;*/
}
        .cal-cell.available { cursor: pointer; background: #fff; border-color: #ddd; transition: 0.2s; }
        .cal-cell.available:hover { border-color: var(--lc-green); box-shadow: 0 0 5px rgba(46, 139, 87, 0.3); }
        .cal-cell.needs-room { cursor: pointer; background: #fdfdfd; border-color: #eee; }
        .cal-cell.needs-room:hover { border-color: var(--price-color); background: #fffaf9; }
        .cal-cell.selected { background: var(--lc-green); color: #fff; border-color: var(--lc-green); }
        .cal-cell.selected .cal-date, .cal-cell.selected .cal-price,.cal-cell.selected .price { color: #fff; }
        .cal-status { font-size: 10px; margin-top: 2px; }
        .cal-price,.price { font-size: 12px; font-weight: bold; color: var(--price-color);margin: 4px 0; }
        
        .btn-next { background-color: var(--lc-green); color: #fff; border: none; padding: 16px 80px; font-size: 18px; font-weight: bold; border-radius: 50px; cursor: pointer; transition: 0.2s; box-shadow: 0 4px 10px rgba(46, 139, 87, 0.2); }
        .btn-next:hover:not(:disabled) { background-color: var(--lc-dark); transform: translateY(-2px); box-shadow: 0 6px 15px rgba(46, 139, 87, 0.3); }
        .btn-next:disabled { background-color: #ccc; box-shadow: none; cursor: not-allowed; transform: none; color: #fff; }

        /* ================= General Inquiry Form Page Styles ================= */
        .inq-page-header { text-align: center; margin: 20px 0 40px; }
        .inq-page-title { font-size: 26px; font-weight: bold; margin: 0 0 15px; color: #222; }
        .inq-page-desc { font-size: 15px; color: #444; margin: 0; line-height: 1.8; }
        
        .inq-contact-box { border: 1px solid var(--lc-green); background-color: #fff; padding: 20px; text-align: center; border-radius: 6px; margin-bottom: 40px; font-size: 15px; color: #222; }
        .inq-contact-box strong { display: block; margin-bottom: 8px; }
        
        .inq-form-wrapper { background: #ffffff; padding: 40px 50px; border-radius: 12px; border: 1px solid #eee; margin-bottom: 60px; max-width: 800px; margin-left: auto; margin-right: auto; box-shadow: 0 2px 10px rgba(0,0,0,0.02); }
        .inq-form-group { margin-bottom: 25px; text-align: left; }
        .inq-form-label { display: block; font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #222; }
        
        .inq-badge { display: inline-block; font-size: 11px; font-weight: normal; color: #fff; padding: 3px 8px; border-radius: 4px; margin-left: 10px; vertical-align: text-bottom; }
        .inq-badge.req { background-color: var(--price-color); }
        .inq-badge.opt { background-color: #78909c; }
        
        .inq-form-input, .inq-form-textarea { width: 100%; padding: 14px 15px; border: 1px solid #ccc; border-radius: 6px; font-size: 15px; box-sizing: border-box; background: #fff; transition: 0.2s; font-family: inherit; }
        .inq-form-input:focus, .inq-form-textarea:focus { border-color: var(--lc-green); outline: none; box-shadow: 0 0 5px rgba(46, 139, 87, 0.2); }
        .inq-form-textarea { min-height: 160px; resize: vertical; }
        
        .inq-radio-group-box { background-color: #f7f7f7; padding: 15px 20px; border-radius: 6px; display: flex; gap: 30px; align-items: center; border: 1px solid #eaeaea; }
        .inq-radio-label { display: flex; align-items: center; cursor: pointer; font-size: 15px; }
        .inq-radio-label input[type="radio"] { margin-right: 8px; accent-color: var(--lc-green); cursor: pointer; transform: scale(1.2); }
        
        .inq-file-wrapper { border: 1px solid #ccc; padding: 10px 15px; border-radius: 6px; background-color: #fff; display: flex; align-items: center; }
        .inq-file-wrapper input[type="file"] { font-size: 14px; color: #555; cursor: pointer; }
        
        /* Buttons (Shared for Inquiry) */
        .btn-area { display: flex; justify-content: center; gap: 20px; margin-top: 40px; margin-bottom: 20px; }
        .btn { padding: 15px 50px; border-radius: 50px; font-size: 16px; font-weight: bold; cursor: pointer; transition: 0.2s; text-align: center; min-width: 180px; box-sizing: border-box; border: 2px solid var(--lc-green); }
        .btn-back { background: #fff; color: var(--lc-green); }
        .btn-back:hover { background: #f4f6f9; }
        .btn-submit { background: var(--lc-green); color: #fff; }
        .btn-submit:hover { background: var(--lc-dark); border-color: var(--lc-dark); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,0.1); }

        /* Confirm Table */
        .confirm-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 20px; }
        .confirm-table th { background: #f8f9fa; padding: 18px 15px; border: 1px solid #eee; width: 30%; text-align: left; font-weight: bold; color: #444; }
        .confirm-table td { padding: 18px 15px; border: 1px solid #eee; color: #222; }

        /* Complete Screen */
        .complete-icon { font-size: 60px; color: #4CAF50; margin-bottom: 10px; }
        .inquiry-number-box { background: #f4f6f9; border: 1px dashed #ccc; padding: 25px; display: inline-block; border-radius: 8px; margin: 30px 0; }
        .inquiry-num { font-size: 32px; font-weight: bold; color: var(--lc-green); letter-spacing: 2px; }

        @media (max-width: 900px) {
            .list-header { flex-direction: column; align-items: flex-start; gap: 15px; }
            .search-wrapper { margin-left: 0; width: 100%; }
            .search-input { width: 100%; }
            .tour-header-section { grid-template-columns: 1fr; }
            .hero-gallery img { height: 200px; }
            .cal-cell { min-height: 50px; }
            .hotel-list-item { flex-direction: column; }
            .hotel-img { width: 100%; height: 160px; }
            .detail-nav-bar { overflow-x: auto; white-space: nowrap; justify-content: flex-start; }
            .nav-item { white-space: nowrap; padding: 10px 15px; }
            .usps-grid { grid-template-columns: repeat(2, 1fr); }
            .point-grid { grid-template-columns: repeat(2, 1fr); }
    .point-card {width: calc((100% - 20px) / 2);}
            .cross-sell-box { flex-direction: column; align-items: flex-start; text-align: left; }
            .btn-outline-primary { width: 100%; text-align: center; }

            .intro-hero { height: 220px; }
            .intro-content h2 { font-size: 24px; }
            .inclusion-grid { grid-template-columns: 1fr; }
            .brand-toolbar .container { flex-direction: column; height: auto; padding: 15px 20px; gap: 10px; align-items: flex-start; }
            .brand-toolbar-btns { width: 100%; }
            .btn-pill { flex: 1; text-align: center; }
            .custom-inquiry-title { font-size: 18px; }
            .btn-next { width: 100%; }
            
            .inq-form-wrapper { padding: 30px 20px; }
            .inq-radio-group-box { flex-direction: column; align-items: flex-start; gap: 15px; }
            .btn-area { flex-direction: column; gap: 15px; }
            .btn { width: 100%; }
            .confirm-table th, .confirm-table td { display: block; width: 100%; box-sizing: border-box; }
            .confirm-table th { border-bottom: none; padding-bottom: 5px; background: #fff; border: none; }
            .confirm-table td { border-top: none; padding-top: 0; border: none; border-bottom: 1px solid #eee; margin-bottom: 10px; }
        }
        @media (max-width: 600px) {
            .usps-grid { grid-template-columns: 1fr; }
            .point-grid { grid-template-columns: 1fr; }
 .point-card {
        width: 100%;
    }
        }
        /* ================= Conditions Section (縦置きに変更) ================= */
        .cond-grid { display: flex; flex-direction: column; gap: 20px; margin-bottom: 20px; }
        .cond-card { background: #fff; border: 1px solid #eee; border-radius: 6px; padding: 15px 20px; }
        .cond-title { font-weight: bold; color: var(--qa-burgundy); margin-bottom: 10px; font-size: 14px; border-bottom: 1px dashed #eee; padding-bottom: 10px; }
        .cond-text { font-size: 13px; color: #333; line-height: 1.6; }

        .cond-note-box { background: #fdfaf6; border: 1px solid #f2e8d9; border-radius: 6px; padding: 25px; margin-top: 10px; }
        .cond-note-head { font-weight: bold; font-size: 14px; color: #222; margin-bottom: 10px; margin-top: 20px; }
        .cond-note-head:first-child { margin-top: 0; }
        .cond-note-list { list-style: none; padding: 0; margin: 0; }
        .cond-note-list li { font-size: 13px; color: #333; margin-bottom: 8px; padding-left: 1.2em; text-indent: -1.2em; line-height: 1.6; }
        .cond-note-list li::before { content: "・"; padding-right: 0.2em; }
        
        @media (max-width: 900px) {
            .cond-grid { grid-template-columns: 1fr; }
            .cond-card.full { grid-column: 1; }
        }
@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
    }
    }
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}
/*booking*/
.booking-wrapper {
    max-width: 800px;
    margin: 40px auto 0px;
    padding: 0 20px 80px;
}
 .booking-wrapper .booking-wrapper { max-width: 800px; margin: 40px auto 80px; padding: 0 20px; }
        
        .booking-wrapper .page-header { text-align: center; margin-bottom: 30px; }
        .booking-wrapper .page-header h1 { font-size: 24px; color: var(--primary-color); margin: 0; }

        .booking-wrapper .booking-summary-box {
            background: #fff; border-radius: 6px; 
            border: 1px solid var(--accent-gold);
            padding: 20px 25px; margin-bottom: 30px; box-shadow: 0 2px 8px rgba(0,0,0,0.02);
        }
        .booking-wrapper .summary-label { font-size: 12px; font-weight: bold; color: #555; margin-bottom: 5px; }
        .booking-wrapper .summary-value { font-size: 15px; font-weight: bold; color: #222; margin-bottom: 15px; }
        .booking-wrapper .summary-date { font-size: 20px; font-weight: bold; }

        .booking-wrapper .form-card {
            background: #fff; border: 1px solid #eee; border-radius: 6px; padding: 30px; margin-bottom: 25px; box-shadow: 0 2px 5px rgba(0,0,0,0.02);
        }
        .booking-wrapper .form-card-title { font-size: 16px; font-weight: bold; color: #222; border-bottom: 1px solid #eee; padding-bottom: 10px; margin-top: 0; margin-bottom: 20px; }
        
        .booking-wrapper .form-row { display: flex; gap: 20px; margin-bottom: 20px; }
        .booking-wrapper .form-row > div { flex: 1; }
        .booking-wrapper .form-group { margin-bottom: 20px; }
        .booking-wrapper .form-group:last-child { margin-bottom: 0; }
        
        .booking-wrapper .form-label { display: block; font-size: 13px; font-weight: bold; margin-bottom: 8px; color: #222; }
        .booking-wrapper .badge { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 11px; font-weight: normal; color: #fff; margin-left: 8px; vertical-align: middle; }
        .booking-wrapper .badge.req { background-color: #ef5350; }
        .booking-wrapper .badge.opt { background-color: #78909c; }

        .booking-wrapper .form-input, .booking-wrapper .form-select, .booking-wrapper .form-textarea {
            width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; font-size: 14px; box-sizing: border-box; background: #fff; transition: 0.2s;
        }
        .booking-wrapper .form-input:focus, .booking-wrapper .form-select:focus, .booking-wrapper .form-textarea:focus { border-color: var(--primary-color); outline: none; }
        .booking-wrapper .form-textarea { height: 120px; resize: vertical; }
        
        /* Pax control */
        .booking-wrapper .pax-group { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
        .booking-wrapper .pax-item { display: flex; align-items: center; gap: 8px; font-size: 14px; }
        .booking-wrapper .pax-item input { width: 60px; text-align: center; }
        .booking-wrapper .pax-total { margin-left: auto; font-size: 14px; font-weight: bold; }

        /* Terms & Agree */
        .booking-wrapper .terms-box { background: #f8f9fa; border: 1px solid #e0e0e0; padding: 20px; border-radius: 4px; font-size: 13px; line-height: 1.8; color: #444; margin-bottom: 20px; }
        .booking-wrapper .terms-box strong { color: #222; }
        .booking-wrapper .agree-box { background: #eaf3fa; border: 1px solid #bbdefb; padding: 15px; text-align: center; border-radius: 4px; margin-bottom: 40px; }
        .booking-wrapper .agree-box label { font-size: 14px; font-weight: bold; color: #222; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }
        .booking-wrapper .agree-box input[type="checkbox"] { transform: scale(1.3); cursor: pointer; }

        /* Buttons */
        .booking-wrapper .btn-area { display: flex; justify-content: center; gap: 20px; }
        .booking-wrapper .btn { padding: 14px 40px; border-radius: 50px; font-size: 15px; font-weight: bold; cursor: pointer; transition: 0.2s; text-align: center; min-width: 160px; box-sizing: border-box; }
        .booking-wrapper .btn-back { background: #fff; border: 2px solid var(--primary-color); color: var(--primary-color); }
        .booking-wrapper .btn-back:hover { background: #f4f6f9; }
        .booking-wrapper .btn-submit { background: var(--primary-color); border: 2px solid var(--primary-color); color: #fff; }
        .booking-wrapper .btn-submit:hover { background: var(--primary-dark); border-color: var(--primary-dark); }

        /* Confirm Table */
        .booking-wrapper .confirm-table { width: 100%; border-collapse: collapse; font-size: 14px; }
        .booking-wrapper .confirm-table th { background: #f8f9fa; padding: 15px; border: 1px solid #ddd; width: 35%; text-align: left; font-weight: bold; color: #444; }
        .booking-wrapper .confirm-table td { padding: 15px; border: 1px solid #ddd; color: #222; }

        /* Complete Screen */
        .booking-wrapper .complete-icon { font-size: 50px; color: #4CAF50; margin-bottom: 10px; }
        .booking-wrapper .inquiry-number-box { background: #fff; border: 2px dashed #ccc; padding: 20px; display: inline-block; border-radius: 8px; margin: 30px 0; }
        .booking-wrapper .inquiry-num { font-size: 28px; font-weight: bold; color: var(--primary-color); letter-spacing: 1px; }
.booking-wrapper,
.category_a,
.category_b,
.category_c{
    background-color: var(--bg-body);
}
        @media (max-width: 768px) {
            .booking-wrapper .form-row { flex-direction: column; gap: 0; }
            .booking-wrapper .pax-group { flex-direction: column; align-items: flex-start; }
            .booking-wrapper .pax-total { margin-left: 0; margin-top: 10px; }
            .booking-wrapper .btn-area { flex-direction: column; }
            .booking-wrapper .btn { width: 100%; }
            .booking-wrapper .confirm-table th, .booking-wrapper .confirm-table td { display: block; width: 100%; box-sizing: border-box; }
            .booking-wrapper .confirm-table th { border-bottom: none; }
            .booking-wrapper .logo-main { font-size: 22px; }
        }
.category_a .booking-wrapper .page-header h1,
.category_a .inq-form-wrapper h2,
.category_a .booking-wrapper h2,
.category_a .form-card p a,
.category_a .inq-form-wrapper a,
.category_a .booking-wrapper .inquiry-num,
.category_a .booking-wrapper .summary-date,
.category_a #f_total_pax,
.category_a .inq-contact-box a{
    color: var(--lc-green);
}
.category_a .custom-inquiry-btn { display: inline-block; background-color: var(--lc-green); color: #fff; padding: 16px 50px; border-radius: 50px; font-size: 16px; font-weight: bold; text-decoration: none; transition: 0.2s; box-shadow: 0 4px 10px rgba(0,0,0,0.1); cursor: pointer; }
.category_a .custom-inquiry-btn:hover { background-color: var(--lc-dark); transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.15); }


.category_a .booking-wrapper .btn-back { background: #fff; border: 2px solid var(--lc-green); color: var(--lc-green); }
.category_a .booking-wrapper .btn-submit { background: var(--lc-green); border: 2px solid var(--lc-green); color: #fff; }
.category_a .booking-wrapper .btn-submit:hover { background: var(--lc-dark); border-color: var(--lc-dark); }

.category_a .booking-wrapper .booking-summary-box{ }
.category_a .booking-wrapper .form-input:focus, .booking-wrapper .form-select:focus, .booking-wrapper .form-textarea:focus { border-color: var(--lc-green); outline: none; }

.category_b .intro-hero{
    background: linear-gradient(to bottom, #002855, #004494);    
}
.category_c .intro-hero{
    background: linear-gradient(to bottom, rgba(138, 21, 56, 0.9), rgba(138, 21, 56, 0.8));
}
    .category_b .usps-grid,
.category_c .usps-grid{
    grid-template-columns: repeat(3, 1fr);
}
.category_b .nav-item:hover, .category_b .nav-item.active {
    color: var(--primary-color);
    background: #f9f9f9;
    border-bottom-color: var(--primary-color);
}
.category_b .booking-wrapper .page-header h1,
.category_b .inq-form-wrapper h2,
.category_b .booking-wrapper h2,
.category_b .form-card p a,
.category_b .inq-form-wrapper a,
.category_b .inq-contact-box a,
.category_b .local-title,
.category_b .brand-toolbar-title,
.category_b .usp-title,
.category_b .list-title,
.category_b .price-val,
.category_b .custom-inquiry-title,
.category_b .back-nav,
.category_b .detail-title,
.category_b .section-h2,
.category_b .point-head,
.category_b .day-label,
.category_b .hotel-info h4,
.category_b .info-box-gray h4,
.category_b .cal-title,
.category_b .btn-back,
.category_b .cond-title,
.category_b .booking-wrapper .summary-date,
.category_b .booking-wrapper .inquiry-num,
.category_b #f_total_pax,
.category_b .inquiry-num {
  color: var(--primary-color);
}
.category_b .booking-wrapper .form-input:focus, .booking-wrapper .form-select:focus, .booking-wrapper .form-textarea:focus { border-color: var(--primary-color); outline: none; }
.category_b .usp-card:hover,
.category_b .plan-card:hover,
.category_b .inc-box.included,
.category_b .cal-cell.available:hover {
  border-color: var(--primary-color);
}

.category_b .btn-pill:hover {
  border-color: var(--primary-color);
  color: var(--primary-color);
}

.category_b .search-input:focus,
.category_b .inq-form-input:focus,
.category_b .inq-form-textarea:focus {
  border-color: var(--primary-color);
}

.category_b .btn-custom-inquiry,
.category_b .btn-next,
.category_b .btn-submit {
  background-color: var(--primary-color);
}

/*
.category_b .catch-copy {
  border-left: 5px solid var(--primary-color);
}
*/

.category_b .detail-nav-bar {
  border-bottom: 2px solid var(--primary-color);
}

.category_b .nav-item:hover,
.category_b .nav-item.active {
  color: var(--primary-color);
  border-bottom-color: var(--primary-color);
}

.category_b .room-type-selector input[type="radio"],
.category_b .inq-radio-label input[type="radio"] {
  accent-color: var(--primary-color);
}

.category_b .cal-cell.selected {
  background: var(--primary-color);
  border-color: var(--primary-color);
}

.category_b .inq-contact-box {
  border: 1px solid var(--primary-color);
}

.category_b .btn {
  border: 2px solid var(--primary-color);
}
.category_b .custom-inquiry-btn { display: inline-block; background-color: var(--primary-color); color: #fff; padding: 16px 50px; border-radius: 50px; font-size: 16px; font-weight: bold; text-decoration: none; transition: 0.2s; box-shadow: 0 4px 10px rgba(0,0,0,0.1); cursor: pointer; }
.category_b .custom-inquiry-btn:hover { background-color: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.15); }
.category_c .booking-wrapper .form-input:focus, .booking-wrapper .form-select:focus, .booking-wrapper .form-textarea:focus { border-color: var(--qa-burgundy); outline: none; }
.category_c .booking-wrapper .page-header h1,
.category_c .inq-form-wrapper h2,
.category_c .booking-wrapper h2,
.category_c .form-card p a,
.category_c .inq-form-wrapper a,
.category_c .inq-contact-box a,
.category_c .local-title,
.category_c .brand-toolbar-title,
.category_c .usp-title,
.category_c .list-title,
.category_c .price-val,
.category_c .custom-inquiry-title,
.category_c .back-nav,
.category_c .detail-title,
.category_c .section-h2,
.category_c .point-head,
.category_c .hotel-info h4,
.category_c .info-box-gray h4,
.category_c .cal-title,
.category_c .btn-back,
.category_c .day-label,
.category_c .cond-title,
.category_c .booking-wrapper .summary-date,
.category_c .booking-wrapper .inquiry-num,
.category_c #f_total_pax,
.category_c .inquiry-num {
  color: var(--qa-burgundy);
}


.category_c .booking-wrapper .btn-back { background: #fff; border: 2px solid var(--qa-burgundy); color: var(--qa-burgundy); }
.category_c .booking-wrapper .btn-submit { background: var(--qa-burgundy); border: 2px solid var(--qa-burgundy); color: #fff; }
.category_c .booking-wrapper .btn-submit:hover { background: var(--qa-burgundy-dark); border-color: var(--qa-burgundy-dark); }


.category_c .usp-card:hover,
.category_c .plan-card:hover,
.category_c .inc-box.included,
.category_c .cal-cell.available:hover {
  border-color: var(--qa-burgundy);
}

.category_c .btn-pill:hover {
  border-color: var(--qa-burgundy);
  color: var(--qa-burgundy);
}

.category_c .search-input:focus,
.category_c .inq-form-input:focus,
.category_c .inq-form-textarea:focus {
  border-color: var(--qa-burgundy);
}
.category_c .nav-item:hover,.category_c .nav-item.active { color: var(--qa-burgundy); background: var(--qa-light); border-bottom-color: var(--qa-burgundy); }
.category_c .btn-custom-inquiry,
.category_c .btn-next,
.category_c .btn-submit {
  background-color: var(--qa-burgundy);
}

/*
.category_c .catch-copy {
  border-left: 5px solid var(--qa-burgundy);
}
*/

.category_c .detail-nav-bar {
  border-bottom: 2px solid var(--qa-burgundy);
}

.category_c .nav-item:hover,
.category_c .nav-item.active {
  color: var(--qa-burgundy);
  border-bottom-color: var(--qa-burgundy);
}

.category_c .room-type-selector input[type="radio"],
.category_c .inq-radio-label input[type="radio"] {
  accent-color: var(--qa-burgundy);
}

.category_c .cal-cell.selected {
  background: var(--qa-burgundy);
  border-color: var(--qa-burgundy);
}

.category_c .inq-contact-box {
  border: 1px solid var(--qa-burgundy);
}

.category_c .btn {
  border: 2px solid var(--qa-burgundy);
}

.category_c .custom-inquiry-btn { display: inline-block; background-color: var(--qa-burgundy); color: #fff; padding: 16px 50px; border-radius: 50px; font-size: 16px; font-weight: bold; text-decoration: none; transition: 0.2s; box-shadow: 0 4px 10px rgba(0,0,0,0.1); cursor: pointer; }
.category_c .custom-inquiry-btn:hover { background-color: var(--qa-burgundy-dark); transform: translateY(-2px); box-shadow: 0 6px 15px rgba(0,0,0,0.15); }

.category_a .btn-next:disabled,
.category_b .btn-next:disabled,
.category_c .btn-next:disabled{
    background-color: #ccc;
}
.category_b .btn-next:hover:not(:disabled){
        background-color: var(--primary-dark);
}
.category_c .btn-next:hover:not(:disabled){
        background-color: var(--qa-burgundy-dark);
}

header .container {
    padding: 0 20px;
    width: calc(100% - 40px);
}

/* ============================================
   #page-detail スマホ調整（ヘッダー・フッターは対象外）
   ============================================ */
@media (min-width: 768px) {
    br.pc-none{
        display: none;
    }
}
@media (max-width: 768px) {
.local-nav {
    top: 59px;
    }
.detail-nav-bar{
top: 106px;   
    }
.inc-list li {
    word-break: break-all;
}
    }
/* ============================================
   #view-detail（ランドクルーズ詳細）スマホ調整
   ============================================ */
@media (max-width: 768px) {
    .local-links{
display: flex;
    justify-content: flex-end;
    width: 160px;
    gap: 5px;
    }
    .container.local-nav-inner{
    padding: 0 10px;
    }
.local-links a {
display: inline-block;
    margin-left: 0;
    font-size: 11px;
    padding: 6px 8px;
    }
    /* ヘッダー部（タイトル・タグ・キャッチコピー） */
    #view-detail .tour-header-section-vertical {
        padding: 18px;
    }
    #view-detail .tour-info-vertical .detail-title {
        font-size: 19px;
        line-height: 1.5;
    }
    #view-detail .tour-info-vertical .catch-copy {
        font-size: 14px;
    }
    #view-detail .card-tags .c-tag {
        margin-bottom: 4px;
        display: inline-block;
    }
    #view-detail .back-nav {
        font-size: 13px;
    }

    /* スティッキーナビの位置調整（スマホヘッダーの高さに合わせる場合は数値要調整） */
    #view-detail .local-nav {
        top: 60px; /* スマホ用ヘッダー高さに応じて調整してください */
    }
    #view-detail .detail-nav-bar {
        top: 60px; /* 同上：local-navを使わない場合はヘッダー高さのみ考慮 */
    }
    #view-detail .nav-item {
        padding: 10px 15px;
        font-size: 13px;
    }

    /* セクション共通 */
    #view-detail .section-box {
        padding: 16px;
        scroll-margin-top: 110px;
    }
    #view-detail .section-h2 {
        font-size: 16px;
    }

    /* 部屋タイプ選択 */
    #view-detail .room-type-selector {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    #view-detail .room-type-selector label {
        font-size: 13px;
    }

    /* カレンダー（空き状況・料金） */
    #view-detail .calendar-wrapper {
        padding: 12px;
    }
    #view-detail .cal-title {
        font-size: 15px;
    }
    #view-detail .cal-btn {
        padding: 5px 10px;
        font-size: 12px;
    }
    #view-detail .cal-grid {
        gap: 3px;
    }
    #view-detail .cal-day-name {
        font-size: 10px;
        padding-bottom: 6px;
    }
    #view-detail .cal-cell {
        min-height: 44px;
        padding: 6px 2px;
    }
    #view-detail .cal-date {
        font-size: 11px;
    }
    #view-detail .cal-cell .price,
    #view-detail .cal-cell .no-price {
        font-size: 9px;
        line-height: 1.3;
    }

    /* モデルスケジュール（日程表） */
    #view-detail .itinerary-row {
        grid-template-columns: 44px 1fr;
        gap: 12px;
        padding-left: 12px;
    }
    #view-detail .day-label {
        font-size: 11px;
        padding: 4px 2px;
    }
    #view-detail .schedule-text p {
        font-size: 13px;
    }

    /* 利用予定ホテル */
    #view-detail .hotel-info h4 {
        font-size: 14px;
    }
    #view-detail div[style*="text-align: right"] .btn-outline-primary {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    /* 運行情報・変更取消規定テーブル → 縦積みに変更 */
    #view-detail .policy-table,
    #view-detail .policy-table tbody,
    #view-detail .policy-table tr {
        display: block;
        width: 100%;
    }
    #view-detail .policy-table th,
    #view-detail .policy-table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
        font-size: 13px;
    }
    #view-detail .policy-table th {
        border-bottom: none;
        padding: 10px 10px 2px;
        background: #fff;
        color: var(--lc-green);
    }
    #view-detail .policy-table td {
        padding: 0 10px 10px;
    }
    /* colspan="2"の説明行（見出し文）は縦積みでも自然に見えるよう調整 */
    #view-detail .policy-table td[colspan] {
        padding: 8px 10px;
        font-weight: bold;
        background: #f9f9f9;
    }

    /* 旅行代金に含まれるもの／含まれないもの */
    #view-detail .inc-box {
        padding: 15px;
    }
    #view-detail .inc-title {
        font-size: 13px;
    }
    #view-detail .inc-list {
        font-size: 12px;
    }
#view-list .list-header {
    padding: 0 10px;
}
.page-wrapper {
    padding: 10px 0 30px;
}
.plan-grid {
    padding: 0 20px;
}
}

/* ---------------------------------------------------------------------
   ① ヘッダー重なりの解消（blist / category_b の .brand-toolbar）
      .brand-toolbar が top:0; z-index:1000 でヘッダー(z-index:10, 高さ100px)
      に重なっていたのを、.local-nav と同じ「ヘッダーの下」に配置し直す。
      → alist/clist の .local-nav と挙動を統一
   --------------------------------------------------------------------- */
.brand-toolbar {
    top: 95px;      /* was: 0   … PCヘッダー(100px)の下へ。local-navと統一 */
    z-index: 9;     /* was: 1000 … ヘッダー(z-index:10)より下へ            */
}
@media (max-width: 768px) {
    .brand-toolbar {
        top: 59px;  /* スマホヘッダー(60px)の下へ。local-navと統一         */
    }
}
/* ※ ぴったり隙間なく揃えたい場合は 95px→100px / 59px→60px に変更可
      （既存 .local-nav が 95/59 なので、統一のため既定は 95/59）        */


/* ---------------------------------------------------------------------
   ② 特徴カード(.usps-grid)がスマホで3カラムのまま潰れる問題
      （blist=category_b / clist=category_c）
      .category_b/.category_c .usps-grid { repeat(3,1fr) } が
      メディアクエリ外にあり、レスポンシブ指定を打ち消していた。
      同じ詳細度(2クラス)＋後勝ちの指定で、各ブレークポイントを復活させる。
   --------------------------------------------------------------------- */
@media (max-width: 900px) {
    .category_b .usps-grid,
    .category_c .usps-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .category_b .usps-grid,
    .category_c .usps-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------------------
   ③（任意・要目視確認）ヒーロー内テキストの見切れ解消
      .intro-hero が固定高さ+overflow:hidden のため、紹介文が長い clist で
      下端が切れる。高さを可変(min-height)にして中身に追従させる。
      ※ 見た目が変わるため、3ページとも確認のうえ採用してください。
   --------------------------------------------------------------------- */
.intro-hero {
    height: auto;
    min-height: 300px;
    padding: 24px 20px;   /* 文字が縁に触れないように余白を確保 */
    box-sizing: border-box;
}
@media (max-width: 900px) {
    .intro-hero {
        min-height: 220px;
    }
}

/* ---------------------------------------------------------------------
   ★ サブナビ見出しを <h1 class="local-title"> にする場合の調整
      3ページとも局所ナビの見出しを h1 に統一する前提。
      h1 の既定(font-size:2em / 上下margin)を打ち消し、
      現状の span.local-title と見た目を完全一致させる。
      ※ 色は既存の .category_b/.category_c .local-title 指定が効くので不要
   --------------------------------------------------------------------- */
h1.local-title,
.local-title {
    margin: 0;          /* h1既定の上下marginを消す（レイアウトずれ防止） */
    font-size: 15px;    /* h1既定の2emを打ち消し（現状spanと同じ15px）      */
    line-height: 1.6;   /* 現状spanと同じ行高(≒24px)                        */
}


/* ---------------------------------------------------------------------
   ① 特徴カード(.usps-grid)がスマホで3カラムのまま潰れる問題
      （blist=category_b / clist=category_c）
      .category_b/.category_c .usps-grid { repeat(3,1fr) } が
      メディアクエリ外にあり、レスポンシブ指定を打ち消していた。
      同じ詳細度(2クラス)＋後勝ちの指定で、各ブレークポイントを復活。
   --------------------------------------------------------------------- */
@media (max-width: 900px) {
    .category_b .usps-grid,
    .category_c .usps-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .category_b .usps-grid,
    .category_c .usps-grid {
        grid-template-columns: 1fr;
    }
}


/* ---------------------------------------------------------------------
   ②（任意・要目視確認）ヒーロー内テキストの見切れ解消
      .intro-hero が固定高さ+overflow:hidden のため、紹介文が長い clist で
      下端が切れる。高さを可変(min-height)にして中身に追従させる。
   --------------------------------------------------------------------- */
.intro-hero {
    height: auto;
    min-height: 300px;
    padding: 24px 20px;
    box-sizing: border-box;
}
@media (max-width: 900px) {
    .intro-hero {
        min-height: 220px;
    }
}


/* ---------------------------------------------------------------------
   ③【フォールバック】blist.php の HTML をまだ .local-nav に差し替えず
      .brand-toolbar のまま運用する場合のみ有効化してください。
      HTMLを local-nav 構造へ差し替えた場合は不要（削除可）。
   --------------------------------------------------------------------- */
/*
.brand-toolbar { top: 95px; z-index: 9; }
@media (max-width: 768px) { .brand-toolbar { top: 59px; } }
*/

/* ページ内リンク移動時の固定ヘッダー分を調整 */
#list-area {
	scroll-margin-top: 120px;
}

@media screen and (max-width: 768px) {
	#list-area {
		scroll-margin-top: 100px;
	}
}
html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.price-val span {
    display: inline-block;
}