h1, h2, h3, h4, h5, h6, .site-title, .entry-title {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

/* --- 1. ベースコンテナ --- */
.yisc-public-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 15px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    line-height: 1.6;
}

/* --- 2. 共通パーツ & タイトル --- */
.yisc-main-title {
    font-size: 1.4rem;
    border-left: 5px solid #bf1e33;
    padding: 5px 15px;
    margin: 40px 0 20px;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    gap: 10px;
}

.yisc-sub-title {
    font-size: 1.25rem;
    border-bottom: 2px solid #bf1e33;
    padding-bottom: 8px;
    margin: 50px 0 25px;
    font-weight: bold;
}

.yisc-branch-area-tag {
    background: #bf1e33;
    color: #fff;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: normal;
}

/* --- 3. クーポンカード（ヒーローエリア） --- */
.yisc-coupon-hero-card {
    overflow: hidden;
    margin-bottom: 30px;
    background: #fff;
}

@media (min-width: 768px) {
    .yisc-coupon-hero-card {
    }
}

.yisc-coupon-hero-image {
}

.yisc-coupon-hero-image img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    display: block;
}

.yisc-coupon-hero-content {
    padding: 25px;
}

.yisc-coupon-hero-content h3 {
    margin: 0 0 15px;
    padding: 10px 15px;      /* 内側に余白を作って下地を広げる */
    background-color: #bf1e33; /* 背景を赤に設定 */
    color: #ffffff;          /* 文字色を白に */
    font-weight: bold;       /* 太字に設定 */
    font-size: 1.3rem;       /* 少し調整 */
    line-height: 1.4;        /* 行間を整えて読みやすく */
    border-radius: 4px;      /* 角を少し丸めて柔らかい印象に */
    display: inline-block;   /* 文字の長さに背景を合わせる（幅いっぱいの場合は削除） */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* 軽い影で要素を浮かせる */
}

/* モバイル表示で幅が狭い場合、背景を100%に広げる設定 */
@media (max-width: 600px) {
    .yisc-coupon-hero-content h3 {
        display: block;      /* スマホでは横幅いっぱいに広げる */
        text-align: center;  /* 文字を中央寄せに */
    }
}
.yisc-coupon-description {
    font-size: 1rem;
    color: #444;
    margin-bottom: 20px;
}

.yisc-expiry-tag {
    display: inline-block;
    padding: 5px 12px;
    background: #fff0f0;
    color: #bf1e33;
    font-weight: bold;
    font-size: 0.85rem;
    border-radius: 4px;
}

/* --- 4. 対象店舗（2カラムグリッド） --- */
.yisc-target-branches-container {
    margin-top: 30px;
}

.yisc-target-branches-title {
    font-size: 1rem;
    color: #555;
    margin-bottom: 15px;
    font-weight: bold;
}

.yisc-branch-grid-2col {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}
/* 親要素に対して、グリッドを確実に適用 */

.yisc-branch-grid-2col {

    display: grid;
    grid-template-columns: 1fr; /* スマホ */
    gap: 20px;
    width: 100%; /* 幅を確保 */
    max-width: none;
    clear: both; /* 念のためfloatを解除 */

}



@media (min-width: 768px) {

    .yisc-branch-grid-2col {
        /* ここで確実に2列に分割 */
        grid-template-columns:  1fr  1fr; 

    }

}



.yisc-branch-rich-card {
    width: 100% ; /* 子要素が親の半分を埋めるように */
    box-sizing: border-box ;

}

.yisc-branch-rich-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.yisc-branch-rich-img {
    background: #f0f0f0;
}

.yisc-branch-rich-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.yisc-branch-rich-info {
    padding: 15px;
    flex: 1;
}

.yisc-branch-rich-info h5 {
    margin: 0 0 8px;
    font-size: 1.05rem;
}

.yisc-branch-rich-details {
    font-size: 0.8rem;
    color: #666;
    line-height: 1.5;
}

/* --- 5. エリア別全店舗案内（1カラムテキスト） --- */
.yisc-separator {
    margin: 50px 0;
    border: 0;
    border-top: 1px solid #eee;
}

.yisc-pref-group-list {
    margin-bottom: 30px;
}

.yisc-pref-heading {
    font-size: 1rem;
    background: #fdf2f3; /* 薄い赤系 */
    padding: 8px 15px;
    border-left: 4px solid #bf1e33;
    margin-bottom: 10px;
    font-weight: bold;
}

.yisc-simple-branch-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.yisc-simple-branch-list li {
    border-bottom: 1px solid #f5f5f5;
}

.yisc-simple-branch-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 10px;
    text-decoration: none;
    color: #444;
}

.yisc-simple-branch-list a:hover {
    background: #fdf2f3;
    color: #bf1e33;
}

.yisc-simple-branch-list li.is-active {
    background: #fdf2f3;
}

.yisc-simple-branch-list li.is-active .yisc-branch-name {
    font-weight: bold;
    color: #bf1e33;
}

.now-label {
    font-size: 0.7rem;
    background: #bf1e33;
    color: #fff;
    padding: 2px 6px;
    border-radius: 3px;
}

.view-detail-link {
    font-size: 0.8rem;
    color: #999;
}

/* --- 6. メッセージ --- */
.yisc-msg {
    padding: 20px;
    background: #fffbe5;
    border: 1px solid #f5eaa9;
    color: #856404;
    border-radius: 8px;
    text-align: center;
}