/*==========================================
Page_Guide
==========================================*/

.guide-intro{
    text-align:center;
    margin:0 auto 70px;
    max-width:760px;
    line-height:2;
    font-size:1.05rem;
}

.guide-hours{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    margin-bottom:40px;
}

.guide-hours{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    align-items:stretch;
}

.guide-card{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:35px;
    text-align:center;
}

.guide-card.holiday{
    background:#fff;
}

.guide-card h4{
    margin-bottom:20px;
    color:var(--brand-color);
    font-size:1.3rem;
}

.guide-card .time{
    font-size:2rem;
    font-weight:700;
    line-height:1.4;
}

.guide-card .time.small{
    font-size:1.35rem;
    line-height:1.6;
}

.guide-card .note{
    margin-top:10px;
    color:#666;
    font-size:.9rem;
}

.guide-sub{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:22px;
}

.sub-item{
    border-bottom:1px solid #e5e5e5;
    padding-bottom:18px;
}

.sub-item:last-child{
    border:none;
    padding-bottom:0;
}

.sub-item h5{
    color:var(--brand-color);
    font-size:1rem;
    margin-bottom:6px;
}

.sub-item p{
    font-size:1.2rem;
    font-weight:600;
}
.guide-card.holiday h4{
    color:#111;
}

.guide-card.holiday .time.small{
    color:var(--brand-color);
    font-size:1.35rem;
    font-weight:700;
    line-height:1.6;
}

.price-table-wrap{
    width:100%;
}
.table-scroll-note{
    display:none;
}

.price-table{
    width:100%;
    border-collapse:collapse;
    border:1px solid #0d8596;
}

.price-table th,
.price-table td{
    border:1px solid #0d8596;
    padding:18px 12px;
    text-align:center;
    vertical-align:middle;
}

.price-table thead th{
    background:#199fb1;
    color:#fff;
    font-weight:700;
}

.price-table tbody th{
    background:#eef6f8;
    color:#0d8596;
    font-weight:700;
    width:18%;
}

.price-table th span{
    display:block;
    font-size:.85rem;
    font-weight:400;
    margin-top:4px;
}

.price-table td{
    font-size:1.4rem;
    font-weight:700;
}

.price-note{
    margin-top:20px;
    font-size:.9rem;
    line-height:1.8;
}
.price-table td.day{
    font-size: 16px;
}
.yen{
    font-size:.7em;
    font-weight:400;
}
.ticket-area{
    margin-top:50px;
    text-align:center;
}

.ticket-copy{
    font-size:1.4rem;
    margin-bottom:24px;
    font-weight:500;
}

.ticket-copy span{
    display:inline-block;
    margin-left:6px;
    font-size:2rem;
    font-weight:700;
    color:var(--brand-color);
}


.ticket-note{
    margin-top:14px;
    font-size:.9rem;
    color:#666;
}



.group-table{
    width:100%;
    border-collapse:collapse;
    margin-top:40px;
    border:1px solid #4193ca;
}

.group-table th,
.group-table td{
    border:1px solid #4287b6;
    padding:20px;
}

.group-table thead th{
    background:#5a93c9;
    color:#fff;
    font-size:1.5rem;
    text-align:center;
}

.group-table tbody th{
    width:22%;
    background:#eef6f8;
    color:var(--brand-color);
    text-align:center;
    font-weight:700;
}

.group-table tbody td{
    line-height:2;
}
.group-table tbody td a{
    color: var(--brand-color);
    text-decoration: underline;
}

.group-note{
    margin-top:40px;
    padding:32px;
    background:#f5f8fc;
    border-radius:12px;
}

.group-note h4{
    margin-bottom:20px;
    color:var(--brand-color);
    font-size:1.5rem;
    font-weight:700;
}
.group-note ul{
    list-style:none;
    margin:0;
    padding:0;
}
.group-note li{
    position:relative;
    padding-left:1.4em;
    margin-bottom:10px;
    line-height:1.8;
}
.group-note li::before{
    content:"●";
    position:absolute;
    left:0;
    top:0;
    color:var(--brand-color);
    font-size:.8em;
}
.group-note li:last-child{
    margin-bottom:0;
}
.group-contact{
    margin-top:50px;
    text-align:center;
}


.tel-box{
    margin-top:36px;
}

.tel-title{
    margin-bottom:12px;
    font-size:1rem;
    color:#666;
}

.tel-title span{
    font-size:.9rem;
    color:#888;
}

.tel-number{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:var(--brand-color);
    font-size:2rem;
    font-weight:700;
}

.tel-number i{
    font-size:1.5rem;
}


@media(max-width:768px){
    .guide-hours{
        grid-template-columns:1fr;
    }
    .guide-card{
        padding:28px;
    }
    .guide-card .time{
        font-size:1.6rem;
    }
    .price-table th,
    .price-table td{
        padding:16px;
        font-size:.95rem;
    }

    .price-table-wrap{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }

    .price-table{
        min-width:720px;
        border-collapse:separate;
        border-spacing:0;
    }

    /* 左端固定 */
    .price-table tbody th,
    .price-table tbody .day{
        position:sticky;
        z-index:2;
        background:#fff;
        border-right:1px solid #0d8596;
    }
    .price-table tbody th{
        width: 140px;
        left:0;
    }
    .price-table tbody .day{
        left:140px;
    }

    /* 左上セル */
    .price-table thead th:first-child{
        position:sticky;
        left:0;
        z-index:5;
        background:#199fb1;
    }
    .table-scroll-note{
        display:block;
        margin-bottom:12px;
        color:#666;
        font-size:.85rem;
        text-align:right;
    }   

}