
/* =========================================================
   Yunomaru Slope & Lift Status v2
   Resort-style front design
========================================================= */

.ysl-front,
.ysl-summary-widget{
    --ysl-ink:#1b2430;
    --ysl-muted:#75808d;
    --ysl-line:#e6eaee;
    --ysl-soft:#f6f8fa;
    --ysl-green:#1f7a4d;
    --ysl-green-soft:#eaf6ef;
    --ysl-yellow:#9a7000;
    --ysl-yellow-soft:#fff5d6;
    --ysl-red:#a93333;
    --ysl-red-soft:#fdecec;
    --ysl-gray:#5e6873;
    --ysl-gray-soft:#eef1f3;
    --ysl-winter:#eaf4fb;

    color:var(--ysl-ink);
    font-family:inherit;
}

.ysl-front{
    max-width:1180px;
    margin:0 auto;
}

.ysl-front-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:28px;
    margin-bottom:26px;
}

.ysl-kicker{
    margin:0 0 7px;
    font-size:11px;
    line-height:1;
    font-weight:800;
    letter-spacing:.18em;
    color:var(--ysl-muted);
}

.ysl-front-top h2{
    margin:0;
    font-size:clamp(26px,3vw,40px);
    line-height:1.15;
    letter-spacing:.01em;
}

.ysl-lead{
    margin:10px 0 0;
    color:var(--ysl-muted);
    font-size:14px;
}

.ysl-map-button{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:245px;
    min-height:86px;
    padding:14px 56px 14px 20px;
    border:1px solid var(--ysl-line);
    border-radius:14px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(234,244,251,.95));
    color:var(--ysl-ink)!important;
    text-decoration:none!important;
    box-shadow:0 10px 28px rgba(27,36,48,.07);
    transition:transform .2s ease, box-shadow .2s ease;
}

.ysl-map-button:after{
    content:"→";
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    font-size:24px;
}

.ysl-map-button:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(27,36,48,.11);
}

.ysl-map-button span{
    font-size:9px;
    font-weight:800;
    letter-spacing:.16em;
    color:var(--ysl-muted);
}

.ysl-map-button strong{
    margin-top:5px;
    font-size:14px;
}

/* Summary */
.ysl-hero-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-bottom:22px;
}

.ysl-summary-card{
    position:relative;
    overflow:hidden;
    min-height:170px;
    padding:24px 26px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.7);
    box-shadow:0 14px 32px rgba(27,36,48,.08);
}

.ysl-summary-course{
    background:
        radial-gradient(circle at 90% 20%, rgba(255,255,255,.75), transparent 32%),
        linear-gradient(135deg,#eef9f3 0%,#dcefe5 100%);
}

.ysl-summary-lift{
    background:
        radial-gradient(circle at 90% 20%, rgba(255,255,255,.8), transparent 32%),
        linear-gradient(135deg,#eef7fd 0%,#dcecf7 100%);
}

.ysl-summary-overline{
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    color:var(--ysl-muted);
}

.ysl-summary-number{
    display:flex;
    align-items:flex-end;
    gap:8px;
    margin-top:12px;
}

.ysl-summary-number strong{
    font-size:58px;
    line-height:.9;
    font-weight:800;
    letter-spacing:-.04em;
}

.ysl-summary-number span{
    padding-bottom:5px;
    font-size:20px;
    color:var(--ysl-muted);
    font-weight:700;
}

.ysl-summary-label{
    margin-top:10px;
    font-size:14px;
    font-weight:800;
}

.ysl-summary-sub{
    margin-top:7px;
    font-size:11px;
    color:var(--ysl-muted);
}

/* Information */
.ysl-general-note{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:start;
    margin-bottom:22px;
    padding:15px 18px;
    border:1px solid #f1dfaf;
    border-radius:12px;
    background:#fffaf0;
    font-size:13px;
    line-height:1.8;
}

.ysl-general-note-label{
    display:inline-flex;
    margin-top:2px;
    padding:3px 7px;
    border-radius:999px;
    background:#f5e8bd;
    color:#7b5c08;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}

/* Main grid */
.ysl-front-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);
    gap:22px;
}

.ysl-front-panel{
    border:1px solid var(--ysl-line);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 26px rgba(27,36,48,.05);
}

.ysl-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:19px 20px 17px;
    border-bottom:1px solid var(--ysl-line);
    background:linear-gradient(180deg,#fff,#fbfcfd);
}

.ysl-panel-heading span{
    display:block;
    margin-bottom:4px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
    color:var(--ysl-muted);
}

.ysl-panel-heading h3{
    margin:0;
    font-size:20px;
}

.ysl-card-list{
    display:grid;
}

.ysl-status-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    min-height:68px;
    padding:13px 18px;
    border-bottom:1px solid var(--ysl-line);
    background:#fff;
    transition:background .15s ease;
}

.ysl-status-card:last-child{
    border-bottom:none;
}

.ysl-status-card:hover{
    background:#fbfcfd;
}

.ysl-status-card-main{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.ysl-status-card-title{
    font-size:14px;
    font-weight:800;
    line-height:1.45;
}

.ysl-status-card-side{
    flex:0 0 auto;
}

.ysl-front-difficulty{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    padding:4px 8px;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    border:1px solid transparent;
}

.ysl-front-difficulty.difficulty-advanced{
    background:#fff0f0;
    border-color:#ffd6d6;
    color:#b32828;
}
.ysl-front-difficulty.difficulty-intermediate{
    background:#edf6ff;
    border-color:#d7eaff;
    color:#2367a7;
}
.ysl-front-difficulty.difficulty-beginner{
    background:#fff0fb;
    border-color:#f8d8ef;
    color:#a83282;
}
.ysl-front-difficulty.difficulty-none{
    background:#f3f5f6;
    border-color:#e2e7ea;
    color:#6f7881;
}

.ysl-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:104px;
    padding:7px 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    white-space:nowrap;
}

.ysl-symbol{
    font-size:13px;
    line-height:1;
}

.ysl-badge-open{
    background:var(--ysl-green-soft);
    color:var(--ysl-green);
}

.ysl-badge-partial,
.ysl-badge-standby{
    background:var(--ysl-yellow-soft);
    color:var(--ysl-yellow);
}

.ysl-badge-closed{
    background:var(--ysl-red-soft);
    color:var(--ysl-red);
}

.ysl-badge-check{
    background:var(--ysl-gray-soft);
    color:var(--ysl-gray);
}

.ysl-note{
    padding:15px 18px;
    border-top:1px solid var(--ysl-line);
    background:#fafbfc;
    font-size:12px;
    line-height:1.85;
    color:var(--ysl-muted);
}

.ysl-updated{
    margin-top:12px;
    text-align:right;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    color:var(--ysl-muted);
}

.ysl-updated strong{
    margin-left:6px;
    color:var(--ysl-ink);
    letter-spacing:0;
    font-size:11px;
}

/* Top-page summary shortcode */
.ysl-summary-widget{
    max-width:760px;
    padding:22px;
    border:1px solid var(--ysl-line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(27,36,48,.06);
}

.ysl-summary-widget-head{
    margin-bottom:15px;
}

.ysl-summary-widget-head span{
    display:block;
    margin-bottom:4px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
    color:var(--ysl-muted);
}

.ysl-summary-widget-head strong{
    display:block;
    font-size:18px;
}

.ysl-summary-widget .ysl-hero-summary{
    margin-bottom:0;
}

.ysl-summary-widget .ysl-summary-card{
    min-height:145px;
    padding:20px;
}

.ysl-summary-widget .ysl-summary-number strong{
    font-size:46px;
}

.ysl-summary-widget-note{
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid var(--ysl-line);
    font-size:12px;
    line-height:1.8;
    color:var(--ysl-muted);
}

.ysl-summary-widget-update{
    margin-top:9px;
    text-align:right;
    font-size:10px;
    color:var(--ysl-muted);
}

/* Responsive */
@media(max-width:900px){
    .ysl-front-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:767px){
    .ysl-front-top{
        flex-direction:column;
        align-items:stretch;
        gap:18px;
    }

    .ysl-map-button{
        min-width:0;
        width:100%;
        min-height:78px;
    }

    .ysl-hero-summary{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .ysl-summary-card{
        min-height:145px;
        padding:18px 16px;
        border-radius:14px;
    }

    .ysl-summary-number strong{
        font-size:44px;
    }

    .ysl-summary-number span{
        font-size:16px;
    }

    .ysl-summary-label{
        font-size:12px;
    }

    .ysl-general-note{
        grid-template-columns:1fr;
        gap:8px;
    }

    .ysl-status-card{
        align-items:flex-start;
        min-height:72px;
        padding:13px 14px;
    }

    .ysl-status-card-main{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    .ysl-badge{
        min-width:88px;
        padding:7px 9px;
        font-size:10px;
    }

    .ysl-panel-heading{
        padding:16px;
    }

    .ysl-summary-widget{
        padding:16px;
    }

    .ysl-summary-widget .ysl-summary-card{
        padding:15px 12px;
    }

    .ysl-summary-widget .ysl-summary-number strong{
        font-size:38px;
    }
}

@media(max-width:420px){
    .ysl-hero-summary{
        grid-template-columns:1fr;
    }

    .ysl-summary-card{
        min-height:130px;
    }

    .ysl-summary-widget .ysl-hero-summary{
        grid-template-columns:1fr 1fr;
    }

    .ysl-summary-widget .ysl-summary-card{
        min-height:130px;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.2
   旧サイト「ゲレンデ・施設のご案内」ページ用デザイン調整
========================================================= */

.ysl-front,
.ysl-summary-widget{
    --ysl-brand:#2963b9;
    --ysl-brand-dark:#1f4f97;
    --ysl-brand-soft:#eef4fc;
    --ysl-ink:#24303c;
    --ysl-muted:#6d7884;
    --ysl-line:#dfe5ea;
}

/* 全体 */
.ysl-front{
    max-width:1040px;
    margin:0 auto 72px;
    font-size:15px;
}

/* 見出し */
.ysl-front-top{
    align-items:center;
    margin-bottom:30px;
}

.ysl-kicker{
    margin-bottom:9px;
    font-size:12px;
    letter-spacing:.16em;
    color:var(--ysl-brand);
}

.ysl-front-top h2{
    color:var(--ysl-brand);
    font-size:36px;
    line-height:1.25;
    font-weight:700;
}

.ysl-lead{
    margin-top:12px;
    font-size:15px;
    line-height:1.8;
}

/* ゲレンデMAPボタン */
.ysl-map-button{
    min-width:250px;
    min-height:78px;
    padding:14px 54px 14px 20px;
    border:1px solid #d8e4f3;
    border-radius:10px;
    background:linear-gradient(135deg,#fff 0%,var(--ysl-brand-soft) 100%);
    box-shadow:none;
}

.ysl-map-button span{
    font-size:10px;
    color:var(--ysl-brand);
}

.ysl-map-button strong{
    margin-top:6px;
    font-size:15px;
    color:var(--ysl-brand);
}

.ysl-map-button:after{
    color:var(--ysl-brand);
}

.ysl-map-button:hover{
    transform:none;
    border-color:#b8cbe5;
    box-shadow:0 8px 20px rgba(41,99,185,.10);
}

/* サマリー */
.ysl-hero-summary{
    gap:18px;
    margin-bottom:26px;
}

.ysl-summary-card{
    min-height:154px;
    padding:24px 28px;
    border-radius:12px;
    border:1px solid #dfe6eb;
    box-shadow:none;
}

.ysl-summary-course{
    background:linear-gradient(135deg,#f3faf6 0%,#e8f4ed 100%);
}

.ysl-summary-lift{
    background:linear-gradient(135deg,#f4f8fd 0%,#e7f0fa 100%);
}

.ysl-summary-overline{
    font-size:11px;
    letter-spacing:.14em;
}

.ysl-summary-number{
    margin-top:14px;
}

.ysl-summary-number strong{
    font-size:56px;
}

.ysl-summary-number span{
    font-size:18px;
}

.ysl-summary-label{
    margin-top:12px;
    font-size:15px;
}

.ysl-summary-sub{
    margin-top:7px;
    font-size:12px;
}

/* お知らせ */
.ysl-general-note{
    margin-bottom:26px;
    padding:16px 18px;
    border-radius:8px;
    font-size:14px;
}

.ysl-general-note-label{
    font-size:10px;
}

/* コース・リフト */
.ysl-front-grid{
    grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);
    gap:24px;
}

.ysl-front-panel{
    border-radius:10px;
    border:1px solid var(--ysl-line);
    box-shadow:none;
}

.ysl-panel-heading{
    padding:20px 22px;
    background:#fff;
    border-bottom:2px solid var(--ysl-brand);
}

.ysl-panel-heading span{
    margin-bottom:5px;
    font-size:10px;
    color:var(--ysl-brand);
}

.ysl-panel-heading h3{
    color:#23313f;
    font-size:22px;
    line-height:1.35;
}

.ysl-status-card{
    min-height:72px;
    padding:15px 20px;
    gap:20px;
}

.ysl-status-card:hover{
    background:#fafcff;
}

.ysl-status-card-title{
    font-size:15px;
    line-height:1.55;
}

.ysl-front-difficulty{
    min-width:44px;
    padding:5px 9px;
    font-size:11px;
}

.ysl-badge{
    min-width:108px;
    padding:8px 12px;
    font-size:12px;
}

.ysl-note{
    padding:16px 20px;
    font-size:13px;
    line-height:1.8;
}

.ysl-updated{
    margin-top:14px;
    font-size:10px;
}

.ysl-updated strong{
    font-size:12px;
}

/* TOP用簡易表示も文字を読みやすく */
.ysl-summary-widget{
    max-width:760px;
    border-radius:12px;
    box-shadow:none;
}

.ysl-summary-widget-head span{
    font-size:10px;
    color:var(--ysl-brand);
}

.ysl-summary-widget-head strong{
    font-size:20px;
}

.ysl-summary-widget-note{
    font-size:13px;
}

.ysl-summary-widget-update{
    font-size:11px;
}

@media(max-width:900px){
    .ysl-front-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:767px){
    .ysl-front{
        margin-bottom:52px;
    }

    .ysl-front-top{
        gap:16px;
        margin-bottom:24px;
    }

    .ysl-front-top h2{
        font-size:28px;
    }

    .ysl-kicker{
        font-size:11px;
    }

    .ysl-lead{
        font-size:14px;
    }

    .ysl-map-button{
        min-height:70px;
    }

    .ysl-summary-card{
        min-height:138px;
        padding:18px 16px;
    }

    .ysl-summary-number strong{
        font-size:44px;
    }

    .ysl-summary-label{
        font-size:13px;
    }

    .ysl-status-card{
        min-height:70px;
        padding:14px 15px;
    }

    .ysl-status-card-title{
        font-size:14px;
    }

    .ysl-panel-heading h3{
        font-size:19px;
    }

    .ysl-badge{
        min-width:90px;
        font-size:11px;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.3
   余白・見出し帯・最終更新表示の調整
========================================================= */

/* 0/12・0/6 のサマリーカードをコンパクトに */
.ysl-hero-summary{
    gap:16px;
    margin-bottom:20px;
}

.ysl-summary-card{
    min-height:112px !important;
    padding:16px 22px !important;
}

.ysl-summary-number{
    margin-top:7px !important;
}

.ysl-summary-number strong{
    font-size:48px !important;
}

.ysl-summary-number span{
    font-size:16px !important;
}

.ysl-summary-label{
    margin-top:7px !important;
}

.ysl-summary-sub{
    margin-top:4px !important;
}

/* 滑走可能コース・運行リフトの上下余白を縮小 */
.ysl-front-grid{
    gap:20px;
}

.ysl-panel-heading{
    padding:13px 18px !important;
    border-bottom:0 !important;
}

/* 一番上の見出し帯：コースはブルー、リフトはピンク */
.ysl-front-grid .ysl-front-panel:first-child .ysl-panel-heading{
    background:#2963b9 !important;
}

.ysl-front-grid .ysl-front-panel:nth-child(2) .ysl-panel-heading{
    background:#ef5aa8 !important;
}

.ysl-front-grid .ysl-front-panel .ysl-panel-heading span,
.ysl-front-grid .ysl-front-panel .ysl-panel-heading h3{
    color:#fff !important;
}

.ysl-panel-heading span{
    margin-bottom:3px !important;
}

.ysl-panel-heading h3{
    font-size:20px !important;
}

/* 見出し直下の行も少し詰める */
.ysl-status-card{
    min-height:62px !important;
    padding:11px 18px !important;
}

/* 簡易版の最終更新 */
.ysl-summary-widget-update{
    margin-top:12px !important;
    font-size:12px !important;
    letter-spacing:0 !important;
    color:#5f6974 !important;
}

@media(max-width:767px){
    .ysl-summary-card{
        min-height:104px !important;
        padding:14px 15px !important;
    }

    .ysl-summary-number strong{
        font-size:42px !important;
    }

    .ysl-panel-heading{
        padding:12px 15px !important;
    }

    .ysl-panel-heading h3{
        font-size:18px !important;
    }

    .ysl-status-card{
        min-height:58px !important;
        padding:10px 14px !important;
    }

    .ysl-summary-widget-update{
        font-size:11px !important;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.4
   ユーザー校正対応：余白圧縮・見出し一体化・高さ自動
========================================================= */

/* 上部タイトル周辺の余白を縮小 */
.ysl-front-top{
    margin-bottom:14px !important;
    gap:18px !important;
    align-items:center !important;
}

.ysl-kicker{
    margin:0 0 3px !important;
}

.ysl-front-top h2{
    margin:0 !important;
}

.ysl-lead{
    margin:5px 0 0 !important;
}

/* 0/12・0/6 のカードをさらにコンパクトに */
.ysl-hero-summary{
    gap:14px !important;
    margin-bottom:12px !important;
}

.ysl-summary-card{
    min-height:86px !important;
    padding:10px 18px !important;
}

.ysl-summary-overline{
    line-height:1.2 !important;
}

.ysl-summary-number{
    margin-top:3px !important;
    gap:5px !important;
}

.ysl-summary-number strong{
    font-size:42px !important;
    line-height:.9 !important;
}

.ysl-summary-number span{
    font-size:14px !important;
    line-height:1 !important;
}

.ysl-summary-label{
    margin-top:2px !important;
    line-height:1.25 !important;
}

.ysl-summary-sub{
    margin-top:2px !important;
    line-height:1.3 !important;
}

/* INFORMATIONとの間も詰める */
.ysl-general-note{
    margin-bottom:12px !important;
    padding:10px 14px !important;
}

/* 左右パネルは内容分だけの高さにする */
.ysl-front-grid{
    gap:16px !important;
    align-items:start !important;
}

.ysl-front-panel{
    align-self:start !important;
    height:auto !important;
    min-height:0 !important;
}

/* 見出しを1本の帯に統合 */
.ysl-panel-heading{
    display:block !important;
    padding:10px 14px !important;
    min-height:0 !important;
}

.ysl-panel-heading > div{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
}

.ysl-panel-heading span{
    display:inline-block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    font-size:9px !important;
}

.ysl-panel-heading h3{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    line-height:1.2 !important;
    font-size:17px !important;
}

/* 行間をさらに詰める */
.ysl-status-card{
    min-height:48px !important;
    padding:7px 14px !important;
    gap:12px !important;
}

.ysl-status-card-main{
    gap:7px !important;
}

.ysl-status-card-title{
    line-height:1.35 !important;
}

.ysl-front-difficulty{
    padding:3px 7px !important;
}

.ysl-badge{
    padding:5px 9px !important;
}

.ysl-note{
    padding:10px 14px !important;
    line-height:1.6 !important;
}

/* 詳細版も簡易版と同じ最終更新表記 */
.ysl-updated{
    margin-top:10px !important;
    text-align:right !important;
    font-size:12px !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    color:#5f6974 !important;
}

.ysl-updated strong{
    font-size:12px !important;
    font-weight:400 !important;
}

@media(max-width:767px){
    .ysl-front-top{
        margin-bottom:12px !important;
        gap:12px !important;
    }

    .ysl-summary-card{
        min-height:80px !important;
        padding:9px 12px !important;
    }

    .ysl-summary-number strong{
        font-size:38px !important;
    }

    .ysl-panel-heading{
        padding:9px 12px !important;
    }

    .ysl-panel-heading > div{
        gap:7px !important;
    }

    .ysl-panel-heading h3{
        font-size:16px !important;
    }

    .ysl-status-card{
        min-height:46px !important;
        padding:7px 12px !important;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.5
   レイアウト最終調整
========================================================= */

/* 上部ブロック全体の幅・リズムを統一 */
.ysl-front{
    max-width:980px !important;
}

.ysl-front-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 250px !important;
    column-gap:26px !important;
    align-items:end !important;
}

.ysl-map-button{
    width:100% !important;
    min-width:0 !important;
    min-height:64px !important;
    padding:12px 48px 12px 16px !important;
    box-sizing:border-box !important;
}

/* サマリーカードは高さを揃えつつ詰める */
.ysl-hero-summary{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    margin-bottom:10px !important;
}

.ysl-summary-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:82px !important;
    padding:9px 16px !important;
    box-sizing:border-box !important;
}

/* お知らせ */
.ysl-general-note{
    margin:0 0 8px !important;
}

/* 最終更新を2カラムの上に配置 */
.ysl-updated{
    margin:0 0 8px !important;
    padding:0 2px !important;
    text-align:right !important;
    line-height:1.4 !important;
}

/* コース・リフトを50/50にして崩れ感を抑える */
.ysl-front-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:14px !important;
    align-items:start !important;
}

/* パネルの角丸・罫線を統一 */
.ysl-front-panel{
    width:100% !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:7px !important;
    box-sizing:border-box !important;
}

/* 見出し帯の高さ・位置を統一 */
.ysl-panel-heading{
    display:flex !important;
    align-items:center !important;
    min-height:46px !important;
    padding:9px 14px !important;
    box-sizing:border-box !important;
}

.ysl-panel-heading > div{
    width:100% !important;
    min-height:28px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.ysl-panel-heading span{
    flex:0 0 auto !important;
}

.ysl-panel-heading h3{
    flex:1 1 auto !important;
    white-space:nowrap !important;
}

/* 行の高さと左右位置を統一 */
.ysl-status-card{
    min-height:50px !important;
    padding:8px 13px !important;
    border-bottom:1px solid #edf0f2 !important;
    box-sizing:border-box !important;
}

.ysl-status-card:last-child{
    border-bottom:0 !important;
}

.ysl-status-card-main{
    min-width:0 !important;
}

.ysl-status-card-title{
    font-size:14px !important;
}

.ysl-status-card-side{
    flex:0 0 auto !important;
}

.ysl-badge{
    min-width:92px !important;
}

/* 備考欄 */
.ysl-note{
    min-height:0 !important;
    padding:9px 13px !important;
    box-sizing:border-box !important;
}

/* PCで右側だけ短くても、下に不自然な要素を置かない */
.ysl-front-grid + .ysl-updated{
    display:none !important;
}

@media(max-width:767px){
    .ysl-front-top{
        display:block !important;
    }

    .ysl-map-button{
        margin-top:14px !important;
    }

    .ysl-front-grid{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }

    .ysl-panel-heading h3{
        white-space:normal !important;
    }

    .ysl-updated{
        margin-bottom:7px !important;
        font-size:11px !important;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.6
   COURSE STATUS / LIFT STATUS 見出しレイアウト修正
========================================================= */

.ysl-panel-heading{
    display:block !important;
    min-height:0 !important;
    padding:10px 14px 11px !important;
    box-sizing:border-box !important;
}

.ysl-panel-heading > div{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}

.ysl-panel-heading span{
    display:block !important;
    margin:0 0 5px !important;
    padding:0 !important;
    font-size:9px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.12em !important;
    color:#fff !important;
}

.ysl-panel-heading h3{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-size:18px !important;
    font-weight:500 !important;
    line-height:1.25 !important;
    letter-spacing:.02em !important;
    text-align:left !important;
    white-space:normal !important;
    color:#fff !important;
    background:transparent !important;
    border:0 !important;
}

@media(max-width:767px){
    .ysl-panel-heading{
        padding:9px 12px 10px !important;
    }

    .ysl-panel-heading span{
        margin-bottom:4px !important;
        font-size:8px !important;
    }

    .ysl-panel-heading h3{
        font-size:17px !important;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.7
   見出し余白・各カード行の上下余白を微調整
========================================================= */

/* 英字見出しと日本語見出しの間を詰める */
.ysl-panel-heading{
    padding:9px 14px 10px !important;
}

.ysl-panel-heading span{
    margin:0 0 1px !important;
    line-height:1.05 !important;
}

.ysl-panel-heading h3{
    margin:0 !important;
    line-height:1.2 !important;
}

/* コース・リフト各カードの上下余白を少し広げる */
.ysl-status-card{
    min-height:54px !important;
    padding:10px 13px !important;
}

.ysl-status-card-main{
    gap:8px !important;
}

/* 備考欄も行間を少しゆったり */
.ysl-note{
    padding:11px 13px !important;
    line-height:1.65 !important;
}

@media(max-width:767px){
    .ysl-panel-heading{
        padding:8px 12px 9px !important;
    }

    .ysl-panel-heading span{
        margin-bottom:1px !important;
    }

    .ysl-status-card{
        min-height:52px !important;
        padding:9px 12px !important;
    }
}


/* =========================================================
   Yunomaru Slope & Lift Status v2.8
   校正対応：見出し余白 / MAPボタン / サマリー間隔
========================================================= */

/* WINTER INFORMATION ～ 日本語見出しの余白を詰める */
.ysl-front-top > div:first-child{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
}

.ysl-kicker,
.ysl-front-top h2,
.ysl-lead{
    margin:0 !important;
    padding:0 !important;
}

.ysl-kicker{
    line-height:1.2 !important;
}

.ysl-front-top h2{
    line-height:1.28 !important;
}

.ysl-lead{
    line-height:1.6 !important;
}

/* ゲレンデMAPを目立たせる */
.ysl-map-button{
    min-height:72px !important;
    border:2px solid #2963b9 !important;
    background:#2963b9 !important;
    box-shadow:0 8px 20px rgba(41,99,185,.20) !important;
}

.ysl-map-button span,
.ysl-map-button strong,
.ysl-map-button:after{
    color:#fff !important;
}

.ysl-map-button span{
    font-size:10px !important;
}

.ysl-map-button strong{
    font-size:16px !important;
    font-weight:700 !important;
}

.ysl-map-button:hover{
    background:#1f4f97 !important;
    border-color:#1f4f97 !important;
    box-shadow:0 10px 24px rgba(41,99,185,.26) !important;
}

/* サマリーカードとINFORMATIONの間を少し広げる */
.ysl-hero-summary{
    margin-bottom:18px !important;
}

/* COURSE / LIFT 見出しの英字～日本語の隙間をなくす */
.ysl-panel-heading{
    padding:8px 14px 9px !important;
}

.ysl-panel-heading > div{
    display:grid !important;
    grid-template-rows:auto auto !important;
    row-gap:0 !important;
    align-content:center !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
}

.ysl-panel-heading span{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
}

.ysl-panel-heading h3{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.15 !important;
}

/* 日本語見出しを英字に少し寄せる */
.ysl-panel-heading h3{
    transform:translateY(-1px);
}

@media(max-width:767px){
    .ysl-front-top > div:first-child{
        gap:4px !important;
    }

    .ysl-map-button{
        min-height:66px !important;
    }

    .ysl-hero-summary{
        margin-bottom:15px !important;
    }

    .ysl-panel-heading{
        padding:8px 12px !important;
    }
}
