@charset "UTF-8";
/* ==========================================================================
   「最安値に挑戦中！」バナー
   パーツ:  __lead（都市名） / __accent（訴求コピー） / __mascot（マスコット）
   デザイン: ブランドカラーの青帯 ＋ 黄色の袋文字
             （サイト内の「選ばれる6つのポイント」等で使う青地×黄文字に合わせる）
   ========================================================================== */

.jpy1-banner {
    position: relative;
    max-width: 880px;
    margin: 22px auto;
    padding: 9px 26px;
    border-radius: 14px;
    background:
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, .045) 0 13px, rgba(255, 255, 255, 0) 13px 26px),
        linear-gradient(180deg, #3079bc 0%, #1d5289 100%);
    box-shadow: 0 6px 0 rgba(20, 58, 96, .45);
}

.jpy1-banner__inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.jpy1-banner__copy {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 12px;
    margin: 0;
    font-weight: 700;
    line-height: 1.15;
}

/* 都市名は白抜き＋左右の斜線あしらい */
.jpy1-banner__lead {
    position: relative;
    color: #fff;
    font-size: clamp(15px, 2.6vw, 25px);
    letter-spacing: .04em;
    padding: 0 .7em;
    white-space: nowrap;
}

.jpy1-banner__lead::before,
.jpy1-banner__lead::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 2px;
    height: 1.05em;
    background: #ffe14d;
    transform: translateY(-50%) rotate(-18deg);
}

.jpy1-banner__lead::before {
    left: 0;
}

.jpy1-banner__lead::after {
    right: 0;
    transform: translateY(-50%) rotate(18deg);
}

.jpy1-banner__tail {
    color: #fff;
    font-size: clamp(16px, 3vw, 27px);
}

/* 訴求コピーは黄色の袋文字 */
.jpy1-banner__accent {
    color: #ffe14d;
    font-size: clamp(25px, 4.6vw, 40px);
    letter-spacing: .01em;
    text-shadow:
        2px 2px 0 #14406e,
        -2px 2px 0 #14406e,
        2px -2px 0 #14406e,
        -2px -2px 0 #14406e,
        0 2px 0 #14406e,
        0 -2px 0 #14406e,
        2px 0 0 #14406e,
        -2px 0 0 #14406e,
        0 5px 0 rgba(12, 40, 68, .45);
}

.jpy1-banner__mascot {
    flex: none;
    width: auto;
    height: clamp(52px, 7.2vw, 76px);
    filter: drop-shadow(0 4px 6px rgba(8, 34, 58, .45));
}

/* --------------------------------------------------------------------------
   SP
   -------------------------------------------------------------------------- */
@media (max-width: 575.98px) {
    .jpy1-banner {
        margin: 14px auto;
        padding: 9px 12px;
        border-radius: 12px;
        box-shadow: 0 5px 0 rgba(20, 58, 96, .45);
    }

    .jpy1-banner__inner {
        gap: 8px;
    }

    .jpy1-banner__copy {
        flex-direction: column;
        align-items: center;
        gap: 3px;
    }

    .jpy1-banner__lead {
        font-size: clamp(14px, 4.4vw, 22px);
    }

    .jpy1-banner__tail {
        font-size: clamp(15px, 6vw, 28px);
    }

    .jpy1-banner__accent {
        font-size: clamp(22px, 7.2vw, 42px);
        text-shadow:
            1.5px 1.5px 0 #14406e,
            -1.5px 1.5px 0 #14406e,
            1.5px -1.5px 0 #14406e,
            -1.5px -1.5px 0 #14406e,
            0 1.5px 0 #14406e,
            0 -1.5px 0 #14406e,
            1.5px 0 0 #14406e,
            -1.5px 0 0 #14406e,
            0 4px 0 rgba(12, 40, 68, .45);
    }

    .jpy1-banner__mascot {
        width: auto;
        height: 15vw;
        max-height: 62px;
    }
}
