:root {
    --fm-green: #00a33e;
    --fm-blue: #008cd6;
    --fm-dark: #333333;
    --fm-light: #f8fafc;
    --color-white: #ffffff;
    --color-gray-50: #f9fafb;
    --color-gray-100: #f3f4f6;
    --color-gray-200: #e5e7eb;
    --color-gray-400: #9ca3af;
    --color-gray-500: #6b7280;
    --color-gray-600: #4b5563;
    --color-gray-700: #374151;
    --color-gray-800: #1f2937;
    --color-red: #ef4444;
    --color-emerald: #10b981;
    --color-yellow: #FACC15;
    --color-blue-600: #2563eb;
    --shadow-soft: 0 10px 40px -10px rgba(0,0,0,0.08);
    --header-height: 3rem;
}


/* .site-header .nav-item:nth-child(4){
    color: var(--fm-green) !important;
    font-weight: 600;
} */
.section-title {
    position: relative;
    display: inline-block; 
    /* padding: 0rem 1.5rem 1rem;  */
    font-size: clamp(26px, 3.3vh, 2.5rem);
    margin-bottom: clamp(3rem, 9vh, 9rem);
    margin-top: 0rem;
    color: var(--fm-green);
    line-height: 2.0;
}


.news-section{
    padding-top: clamp(6rem, 24vh, 16rem);
    padding-bottom: 10rem;
}
.news-section .container{
    max-width: 1000px;
}

.news-section {
    /* padding-top: clamp(8rem, 30vw, 11.5rem);
    padding-bottom: clamp(2rem,9vw,3.5rem); */
    background-color: var(--color-white);
    position: relative;
    z-index: 20;
}

.news-list-card {
    border-radius: 1rem; /* rounded-2xl 相当 */
    /* box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); */
    /* border: 1px solid var(--color-gray-100); */
    overflow: hidden;
    max-width: 64rem; /* max-w-5xl 相当 */
    margin-left: auto;
    margin-right: auto;
}

.news-header {
    /* background-color: var(--color-gray-50); */
    padding: 1rem 1.5rem; /* px-6 py-4 相当 */
    /* border-bottom: 1px solid var(--color-gray-100); */
    display: grid;
    /* justify-content: space-between; */
    align-items: center;
}

.news-title-header {
    font-size: clamp(17px, 3.5vw, 2.2rem) !important;
    font-weight: bold;
    color: var(--fm-green);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.news-icon {
    color: var(--fm-blue);
}

.news-all-link {
    font-size: clamp(13px, 3.5vw, 18px); /* text-sm 相当 */
    font-weight: bold;
    color: var(--fm-blue);
    display: flex;
    justify-content: end;
}

.news-all-link:hover {
    text-decoration: underline;
}

.news-body {
    padding: 0.5rem; /* p-2 相当 */
}

.news-item {
    display: block;
    padding: 1rem; /* p-4 相当 */
    border-radius: 0.75rem; /* rounded-xl 相当 */
    transition: background-color 0.3s;
    border-bottom: 1px dashed var(--color-gray-200);
}

.news-item:last-child {
    border-bottom: none;
}

.item-important:hover {
    background-color: #fff1ef; /* hover:bg-blue-50 相当 */
}

.item-normal:hover {
    background-color: #f0fff4; /* hover:bg-green-50 相当 */
}

.news-item-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* gap-2 相当 */
}

@media (min-width: 768px) {
    .news-section {
        padding-top: clamp(6rem, 24vh, 16rem);
        padding-bottom: 15rem;
    }
    .news-item-content {
        flex-direction: row;
        align-items: center;
        gap: 1rem; /* md:gap-4 相当 */
    }
    .news-title-header {
    font-size: 1.25rem; 
    }
}

@media (max-width: 767px) {
    .news-section {
        padding-top: 8rem; /* py-16 相当 */
    }
}

.news-item-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem; /* gap-3 相当 */
    flex-shrink: 0;
}

.news-date {
    color: var(--color-gray-400);
    font-family: monospace;
    font-size: 0.875rem; /* text-sm 相当 */
}

.news-badge {
    color: var(--color-white);
    font-size: 0.75rem; /* text-xs 相当 */
    padding: 0.25rem 0.75rem; /* px-3 py-1 相当 */
    border-radius: 9999px;
    font-weight: bold;
    width: 75px;
    text-align: center;
}

.badge-important {
    background-color: var(--color-red);
}

.badge-normal {
    background-color: var(--color-white);
    border: 1px solid var(--fm-green);
    color: var(--fm-green);
}

.pulse-badge {
    animation: pulse-red 2s infinite;
}

@keyframes pulse-red {
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
    70% { box-shadow: 0 0 0 6px rgba(0, 175, 240, 0); }
    100% { box-shadow: 0 0 0 0 rgba(0, 175, 240, 0); }
}

.news-item-heading {
    font-size: 1rem; /* text-base 相当 */
    font-weight: bold;
    color: var(--fm-dark);
    transition: color 0.3s;
}

.item-important .news-item-heading:hover {
    color: var(--color-red);
}

.item-normal .news-item-heading {
    font-weight: 100;
    color: var(--color-gray-700);
}

.item-normal .news-item-heading:hover {
    color: var(--fm-green);
}

.news-item-subtext {
    font-size: 0.875rem; /* text-sm 相当 */
    font-weight: normal;
    color: var(--color-gray-500);
    margin-left: 0.5rem;
    display: inline; /* hidden md:inline 相当 */
}

@media (max-width: 768px) {
    .news-item {
        padding: clamp(0.5rem,2.5vw,1rem);
    }
    .news-date {
        font-size: clamp(12px,2.5vw,0.875rem); /* text-sm 相当 */
    }
    .news-badge {
    font-size: clamp(11px,2.5vw,0.75rem);
    padding: clamp(0.2rem,0.5vw,0.25rem) clamp(0.3rem,1.5vw,0.75rem)
    }
    .news-item-subtext {
        display: none;
    }
    .news-item-heading {
        font-size: clamp(14px,2.5vw,1rem);
        margin-top: clamp(0.5em,2.5vw,1em);
        margin-bottom: clamp(0.5em,2.5vw,1em);
    }
}
.pagenation{
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 20px 0 0;
}
.pagenation-num:nth-child(1){
    background-color: var(--fm-blue);
}
.pagenation-num{
    padding: 5px 15px;
    border: #000 solid 1px;
    color: #000;
    transition: background 0.2s ease;
    line-height: 1;
}
.pagenation-num:hover{
    background-color: var(--fm-blue);
}

@media (max-width: 768px) {
    .pagenation-num{
        padding: 2px 10px;
    }
}

/* ニュース赤文字 */
.news-item-red{
    color: #EF4444;
    font-weight: 600;
}

.news-item.no-link-item {
    cursor: default; /* カーソルを通常のマウス矢印に戻す */
    pointer-events: none; /* ホバーエフェクトなどを無効化する場合 */
}