/* ==========================
   Schedule
========================== */

.schedule{

    padding:70px 0 85px;

    background:#f5f8fc;

}


.schedule .section-title{

    margin-bottom:10px;

}


.schedule-lead{

    text-align:center;

    font-size:16px;

    color:#666;

    margin-bottom:35px;

}


/* メインカード */

.schedule-info{

    max-width:650px;

    margin:0 auto;

    background:#ffffff;

    border-radius:18px;

    padding:15px 35px;

    box-shadow:0 20px 50px rgba(11,45,99,.07);

}


/* 1項目 */

.schedule-item{

    display:grid;

    grid-template-columns:58px 1fr;

    column-gap:28px;

    align-items:center;

    min-height:100px;

    position:relative;

    max-width:600px;

    margin:0 auto;

}


.schedule-item:not(:last-child){

    border-bottom:1px solid #e2e8f0;

}


/* 左アイコン */

.schedule-icon{

    width:50px;

    height:50px;

    border-radius:50%;

    background:#0b2d63;

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

}


/* アイコン同士をつなぐ線 */

.schedule-item:not(:last-child) .schedule-icon::after{

    content:"";

    position:absolute;

    width:1px;

    height:55px;

    top:50px;

    left:50%;

    background:
        repeating-linear-gradient(
            to bottom,
            #8db8ef 0,
            #8db8ef 3px,
            transparent 3px,
            transparent 7px
        );

}


/* SVG */

.schedule-icon svg{

    width:23px;

    height:23px;

    fill:none;

    stroke:#ffffff;

    stroke-width:1.8;

    stroke-linecap:round;

    stroke-linejoin:round;

}


/* 右側情報 */

.schedule-content{

    width:100%;

}


.schedule-label{

    display:block;

    font-size:12px;

    font-weight:700;

    letter-spacing:5px;

    color:#1b6dd1;

    margin-bottom:8px;

}


.schedule-value{

    font-size:25px;

    font-weight:700;

    color:#0b2d63;

    line-height:1.35;

}


.schedule-sub{

    margin-top:5px;

    font-size:14px;

    color:#666;

    line-height:1.5;

}


/* 日付 */

.schedule-date{

    display:flex;

    align-items:center;

    gap:10px;

    flex-wrap:wrap;

}


.schedule-date strong{

    font-size:29px;

}


.day{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:28px;

    height:28px;

    border:1px solid #b7c5d8;

    border-radius:5px;

    font-size:14px;

    color:#0b2d63;

}


.schedule-arrow{

    font-size:27px;

    color:#1b6dd1;

    margin:0 5px;

}