* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    background-color: #ffffff;
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    overflow-x: hidden;
    background: transparent;
}

/* =====================
   Base
   ===================== */
img { display: block; max-width: 100%; }

/* =====================
   Show/Hide ヘルパー（元テーマの .md（PC）/ .sm（SP）表記を踏襲）
   ===================== */
.md { }
.sm { }
@media print, (min-width: 768px) {
    .sm { display: none !important; }
}
@media only screen and (max-width: 767.98px) {
    .md { display: none !important; }
}

/* Header Spacer（固定ヘッダー高さ分の余白を確保） */
.header-spacer {
    height: 60px;
    background: #fff;
}
@media (min-width: 768px) {
    .header-spacer { height: 68px; }
}

/* ============================================================
   News一覧ページ（https://ic-lab.net/news/ の完全移植）
   元テーマ news.css（fcvanilla）の該当ルールを、サイト側の
   html{font-size:625% / 13.333vw}（1rem=100px相当）の仕組みに依存せず
   px・vwへ換算して移植。ブレークポイントは元サイトに合わせ768px。
   ============================================================ */

.news-page .wrapper {
    margin-right: auto;
    margin-left: auto;
}
@media print, (min-width: 768px) {
    .news-page .wrapper { width: 800px; }
}
@media only screen and (max-width: 767.98px) {
    .news-page .wrapper { padding-right: 9.867vw; padding-left: 9.867vw; }
}

/* ---- キービジュアル（お知らせ News） ---- */
.news-keyvisual { position: relative; }
.news-keyvisual-title {
    position: relative;
    z-index: 10;
    margin-bottom: 0;
    color: #231815;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.news-keyvisual-title .text-japanese {
    display: inline-block;
    border-bottom: 1px solid #231815;
    line-height: 1.2;
}
.news-keyvisual-title .text-english {
    display: block;
    font-family: 'M PLUS 1', sans-serif;
    font-feature-settings: 'palt';
}
.news-keyvisual-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: inherit;
}
.news-keyvisual-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media print, (min-width: 768px) {
    .news-keyvisual { height: 772px; padding: 98px 0; }
    .news-keyvisual-title .text-japanese { margin-bottom: 7px; padding-bottom: 10px; font-size: 35px; }
    .news-keyvisual-title .text-english { font-size: 13px; }
}
@media only screen and (max-width: 767.98px) {
    .news-keyvisual { height: 93.33vw; padding: 2.8vw 0; }
    .news-keyvisual-title .text-japanese { margin-bottom: 2vw; padding-bottom: 2.4vw; font-size: 4.667vw; }
    .news-keyvisual-title .text-english { font-size: 2.4vw; letter-spacing: 0.1em; }
}

/* ---- News一覧 ---- */
.news-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.news-item {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid #b3b3b3;
}
.news-head {
    flex-shrink: 0;
}
.news-time {
    display: block;
    margin-bottom: 4px;
    font-family: 'M PLUS 1', sans-serif;
    font-weight: 500;
}
.news-category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.26s ease;
}
.news-category:hover { opacity: 0.8; }

/* カテゴリ別カラー（TOP・WORKSページの設定色を踏襲） */
.news-category.is-printing { background-color: #69cac9; }
.news-category.is-design { background-color: #42b138; }
.news-category.is-novelty { background-color: #d0c11e; }
.news-category.is-movie { background-color: #d7760f; }
.news-category.is-web { background-color: #c54747; }
.news-body {
    flex: 1;
    margin-bottom: 0;
    color: #231815;
    font-weight: 500;
}
.news-text {
    color: inherit;
    text-decoration: none;
}

@media print, (min-width: 768px) {
    .news-list { width: 530px; margin: 0 auto 65.5px; }
    .news-item { min-height: 80px; padding: 15px 0; }
    .news-head { min-width: 105px; padding-right: 5px; }
    .news-time { font-size: 17px; }
    .news-category { padding: 6px 16px; border-radius: 20px; font-size: 13px; }
    .news-body { position: relative; top: -2px; align-self: center; }
    .news-text { font-size: 16px; letter-spacing: 0.05em; line-height: 1.7692307692; }
}
@media only screen and (max-width: 767.98px) {
    .news-list { width: 78.667vw; margin: 0 auto 13.067vw; }
    .news-item { min-height: 14.667vw; margin-bottom: 1.067vw; padding: 2vw 0; gap: 16px; }
    .news-item:last-child { margin-bottom: 0; }
    .news-head { min-width: 19.2vw; padding-left: 0.267vw; }
    .news-time { font-size: 3.333vw; }
    .news-category { padding: 1.2vw 3.2vw; border-radius: 4vw; font-size: 2.8vw; }
    .news-body { position: relative; align-self: center; }
    .news-text { font-size: 14px; letter-spacing: 0.05em; line-height: 1.65; }
}

/* ---- ページネーション ---- */
.news-pagination {
    margin-bottom: 80px;
}
.news-pagination__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}
.news-pagination__list {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}
.news-pagination__page {
    display: block;
    position: relative;
    transition: 0.26s ease;
    color: #000;
    font-family: 'M PLUS 1', sans-serif;
    text-decoration: none;
}
.news-pagination__page::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 1px;
    margin-left: 1px;
    transform: translateX(-50%);
    background: #b3b3b3;
}
.news-pagination__page:hover::after { background: #333; }
.news-pagination__page.is-current { font-weight: 500; }
.news-pagination__page.is-current::after { background: #333; }
.news-pagination__dots::after { content: none; }
.news-pagination__arrow {
    display: block;
    background: url(img/icn_arrow_01.svg) no-repeat center/auto 100%;
}
.news-pagination__arrow--end {
    background-image: url(img/icn_arrow_02.svg);
}

@media print, (min-width: 768px) {
    .news-pagination__inner { gap: 20px; }
    .news-pagination__list > li { min-width: 15px; margin: 0 5px; }
    .news-pagination__page,
    .news-pagination__dots { padding: 0 8px; font-size: 15px; }
    .news-pagination__page::after { width: 14px; }
    .news-pagination__arrow { width: 5px; height: 12px; }
    .news-pagination__arrow--end { width: 8px; }
}
@media only screen and (max-width: 767.98px) {
    .news-pagination__inner { gap: 4vw; }
    .news-pagination__list > li { min-width: 5.6vw; margin: 0 0.667vw; }
    .news-pagination__page,
    .news-pagination__dots { padding: 0 2vw; font-size: 3.067vw; }
    .news-pagination__page::after { width: 2.8vw; }
    .news-pagination__arrow { width: 1.6vw; height: 3.733vw; }
    .news-pagination__arrow--end { width: 2.667vw; }
}
