@charset "utf-8";

/* カテゴリバッジ */
.category {
    display: inline-block;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 4px;
    color: #fff;
    background-color: #999; /* デフォルトのグレー */
    min-width: 100px;
    text-align: center;
}

/* カテゴリごとの色分け設定 */
.category.cat-urgent   { background-color: #ff3366; } /* 重要 */
.category.cat-schedule { background-color: #008943; } /* スケジュール */
.category.cat-item     { background-color: #0066cc; } /* 商品 */
.category.cat-news     { background-color: #ffbe00; } /* ニュース */
.category.cat-info     { background-color: #ff8800; } /* お知らせ */

/* 一覧ページのスタイル */
.news-list {
    list-style: none;
    padding: 0;
}

.news-list li {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: nowrap;
}

.news-list .date {
    color: #666;
    min-width: 100px;
}

.news-list a {
    color: #333;
    text-decoration: none;
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-list a:hover {
    text-decoration: underline;
}

/* =======================================
   Information / Blog 関連
   ======================================= */
.info_nav li {
    margin-bottom: 1px;
}

.info_nav li a {
    display: block;
    text-align: center;
    background-color: #eee;
    line-height: 100%;
    padding: 15px 0 18px;
}

.info_nav li a:hover,
.info_nav li a.koko {
    background: url(../images/common/point04.png) no-repeat right 10px center;
    background-color: #008640;
    color: #fff;
}

.blog {
    margin-bottom: 50px;
}

.blog a {
    color: #008640;
    text-decoration: underline;
    display: inline-block;
    padding: 0 5px;
}

.blog dl {
    border-top: #008640 3px solid;
    color: #008640;
    margin-bottom: 25px;
    background-color: #f3f3f3;
    padding: 15px 10px 15px 20px;
}

.blog dt {
    font-size: 130%;
    padding: 5px 0 0;
    font-weight: 600;
    line-height: 150%;
}

.blog dd {
    font-size: 80%;
}

.blog dd.day {
    color: #333;
}

.blog table {
    border-top: #CCC 1px solid;
    border-left: #CCC 1px solid;
    width: 100%;
    margin-bottom: 25px;
}

.blog table th {
    text-align: center;
    font-weight: normal;
    background-color: #EEE;
    border-bottom: #CCC 1px solid;
    border-right: #CCC 1px solid;
    padding: 15px;
    line-height: 150%;
}

.blog table th .txt_s {
    font-size: 70%;
}

.blog table td {
    text-align: center;
    border-bottom: #CCC 1px solid;
    border-right: #CCC 1px solid;
    padding: 15px;
    line-height: 150%;
}

.blog ul {
    list-style: outside disc;
    margin-left: 20px;
    margin-bottom: 15px;
}

.blog ol {
    list-style: outside decimal;
    margin-left: 30px;
    margin-bottom: 15px;
}

.blog li {
    margin-bottom: 5px;
}

.em {
    font-size: 120%;
    font-weight: 700;
    color: #008640;
}


/* =======================================
   カレンダーテーブル
   ======================================= */
.calendar-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.calendar-table th,
.calendar-table td {
    text-align: center;
    padding: 8px;
    border: 1px solid #ccc;
}

.sun,
.sun-text {
    font-weight: 700;
    color: #e23a3a;
}

.sat,
.sat-text {
    font-weight: 700;
    color: #3a45e2;
}


/* =======================================
   テーブルのレスポンシブ（横スクロール）
   ======================================= */
/* 親要素：常に100%幅にし、はみ出た時だけ横スクロールさせる */
.scroll-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5em;
}

/* テーブル本体：基本は100%幅。ただし指定幅より狭くなったらスクロール */
.scroll-table table {
    width: 100%;
    min-width: 600px; /* ★ここで最小幅を指定（項目の多さに合わせて 500px〜700px 程度で調整） */
    border-collapse: collapse;
}

.scroll-table th,
.scroll-table td {
    padding: 10px 14px;
    border: 1px solid #ddd;
    text-align: left;
    white-space: nowrap; /* 文字の自動改行を防いで崩れを防止 */
}

.scroll-table th {
    background-color: #f5f5f5;
    font-weight: bold;
}


/* =======================================
   メディアクエリ（小画面）
   ======================================= */
@media screen and (max-width: 768px) {
    .blog table th,
    .blog table td {
        font-size: 85%;
    }
}
