@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*-------------------------
- news_page :ページ共通枠（ヘッダーの逃げ／コンテンツ幅）
- news_ttl :ページタイトルの余白（h1本体は common.css の .page_ttl）
- news_list :ニュース一覧
- news_card :ニュースカード
- news_pager :ページネーション
-------------------------*/
/* ---- newsページ用 変数 ---- */
/*=======================================
　news_page
=======================================*/
/* 固定ヘッダーとコンテンツが重ならないよう、ページ側で開始位置を確保する */
.news-page {
  padding-top: 105px;
  /* ヘッダーがハンバーガーへ切り替わる幅（xl）で高さも切り替わる */
}
@media screen and (max-width: 1024px) {
  .news-page {
    padding-top: 60px;
  }
}
.news-page .news-page__inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}

/*=======================================
　news_ttl
=======================================*/
.news-page__head {
  padding-bottom: 80px;
  /* SPはFigmaの Breadcrumb→h1 / h1→一覧 が各30px（Frame間のgap・padding）。
     h1のline-heightで生じる上下の余白（計約10px）を差し引いて25pxとする */
}
@media screen and (max-width: 768px) {
  .news-page__head {
    padding: 25px 0;
  }
}

/*=======================================
　news_list
=======================================*/
.news-archive .news-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 28px;
  row-gap: 60px;
}
@media screen and (max-width: 768px) {
  .news-archive .news-list {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}

/*=======================================
　news_card
=======================================*/
.news-card .news-card__link {
  display: block;
  color: inherit;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .news-card .news-card__link:hover {
    opacity: 0.7;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .news-card .news-card__link:hover {
    opacity: 0.7;
  }
}
.news-card .news-card__thumb {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 408 / 230;
  border-radius: 20px;
}
.news-card .news-card__thumb--noimg {
  background-color: #F8F3EA;
  background-image: url("../img/news/svg_001.svg");
  background-repeat: no-repeat;
  background-position: center 57.156%;
  /* 「yamatoya」の文字部分を縦中央に配置 */
  background-size: 58.9% auto;
  /* Figma 240.41 / 408 */
}
@media screen and (max-width: 768px) {
  .news-card .news-card__thumb--noimg {
    background-image: url("../img/news/svg_008.svg");
    background-position: center 56.262%;
    background-size: 54.9% auto;
    /* Figma 183.97 / 335 */
  }
}
.news-card .news-card__thumb--bordered::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #999999;
  border-radius: 20px;
  pointer-events: none;
}
.news-card .news-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.news-card .news-card__img--focus-upper {
  object-position: center 38%;
  /* img_001 / img_004 / img_005 */
}
.news-card .news-card__img--focus-lower {
  object-position: center 67%;
  /* img_003 */
}
.news-card .news-card__img--focus-bottom {
  object-position: center 93%;
  /* img_002 */
}
.news-card .news-card__body {
  margin-top: 18px;
  /* Figma 20px − Dateのline-height余白 2px */
}
.news-card .news-card__date {
  display: block;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  color: #909090;
}
.news-card .news-card__ttl {
  margin-top: 8px;
  /* Date文字上端→Title文字上端が26pxになる値 */
  font-weight: 500;
  font-size: 16px;
  line-height: 26px;
  /* Figma直接値。2行目以降の行間もこの値 */
  color: #1D1D1F;
}

/*=======================================
　news_pager
=======================================*/
.news-pager {
  padding: 100px 0;
  /* 数字 */
  /* 「…」 */
  /* 前へ／次へ */
  /* 前へ／次へのラベルは視覚的に非表示 */
}
@media screen and (max-width: 768px) {
  .news-pager {
    padding: 100px 0 60px;
  }
}
.news-pager .news-pager__list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
}
@media screen and (max-width: 768px) {
  .news-pager .news-pager__list {
    gap: 13.5px;
  }
}
.news-pager .news-pager__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #F6F6F8;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1;
  color: #999999;
}
@media screen and (max-width: 768px) {
  .news-pager .news-pager__num {
    width: 30px;
    height: 30px;
    font-size: 13.5px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .news-pager .news-pager__num:hover {
    opacity: 1;
    background: #F8F3EA;
    color: #1D1D1F;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .news-pager .news-pager__num:hover {
    opacity: 1;
    background: #F8F3EA;
    color: #1D1D1F;
  }
}
.news-pager .news-pager__num--current {
  background: #F8F3EA;
  color: #1D1D1F;
}
.news-pager .news-pager__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 40px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  color: #999999;
}
@media screen and (max-width: 768px) {
  .news-pager .news-pager__dots {
    width: 18px;
    height: 30px;
    font-size: 13.5px;
  }
}
.news-pager .news-pager__arrow {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #909090;
}
@media screen and (max-width: 768px) {
  .news-pager .news-pager__arrow {
    width: 30px;
    height: 30px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .news-pager .news-pager__arrow:hover {
    opacity: 1;
    background: #1D1D1F;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .news-pager .news-pager__arrow:hover {
    opacity: 1;
    background: #1D1D1F;
  }
}
.news-pager .news-pager__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .news-pager .news-pager__arrow::before {
    width: 6px;
    height: 6px;
  }
}
.news-pager .news-pager__arrow--prev::before {
  transform: translate(-30%, -50%) rotate(-135deg);
}
.news-pager .news-pager__arrow--next::before {
  transform: translate(-70%, -50%) rotate(45deg);
}
.news-pager .news-pager__arrow-txt {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
