@charset "UTF-8";

/* ============================================================
   共通
============================================================ */
.l-main {
 padding-top: 80px; /* ヘッダー分のオフセット */
 padding-bottom: 80px;
}
@media (min-width: 768px) {
 .l-main {
  padding-top: 100px;
  padding-bottom: 120px;
 }
}

/* パンくずリスト */
.breadcrumb {
 margin-bottom: 40px;
}
.breadcrumb__list {
 display: flex;
 flex-wrap: wrap;
 gap: 0;
 list-style: none;
 padding: 0;
 margin: 0;
 font-size: 0.78rem;
 color: var(--text-light);
}
.breadcrumb__item + .breadcrumb__item::before {
 content: "›";
 margin: 0 8px;
 color: var(--border);
}
.breadcrumb__item a {
 color: var(--text-light);
 text-decoration: none;
 transition: color 0.2s;
}
.breadcrumb__item a:hover {
 color: var(--pink-deep);
}
.breadcrumb__item[aria-current="page"] {
 color: var(--text-mid);
}

/* ============================================================
   SINGLE — ニュース詳細
============================================================ */
.news-single {
 max-width: 760px;
}

.news-single__header {
 margin-bottom: 32px;
}

.news-single__date {
 display: block;
 font-size: 0.78rem;
 color: var(--text-light);
 letter-spacing: 1px;
 margin-bottom: 12px;
 font-family: var(--sans);
}

.news-single__title {
 font-family: var(--serif);
 font-size: clamp(1.3rem, 3vw, 1.8rem);
 font-weight: 700;
 color: var(--brown);
 line-height: 1.7;
 padding-bottom: 20px;
 border-bottom: 1px solid var(--border);
}

.news-single__thumb {
 margin-bottom: 40px;
 border-radius: 12px;
 overflow: hidden;
}
.news-single__thumb img {
 width: 100%;
 height: auto;
 display: block;
}

/* 本文 */
.news-single__body {
 font-size: 0.93rem;
 color: var(--text);
 line-height: 2.2;
 margin-bottom: 60px;
}
.news-single__body p {
 margin-bottom: 1.6em;
}
.news-single__body h2 {
 font-family: var(--serif);
 font-size: 1.2rem;
 font-weight: 700;
 color: var(--brown);
 margin: 2em 0 0.8em;
 padding-left: 12px;
 border-left: 3px solid var(--pink-deep);
}
.news-single__body h3 {
 font-family: var(--serif);
 font-size: 1.05rem;
 font-weight: 700;
 color: var(--brown);
 margin: 1.6em 0 0.6em;
}
.news-single__body img {
 max-width: 100%;
 height: auto;
 border-radius: 8px;
 margin: 1em 0;
}
.news-single__body a {
 color: var(--pink-deep);
 text-decoration: underline;
}
.news-single__body ul,
.news-single__body ol {
 padding-left: 1.4em;
 margin-bottom: 1.4em;
}
.news-single__body ul {
 list-style: disc;
}
.news-single__body ol {
 list-style: decimal;
}
.news-single__body li {
 margin-bottom: 0.4em;
}

/* 前後ナビ */
.news-single__pager {
 display: grid;
 grid-template-columns: 1fr auto 1fr;
 gap: 16px;
 align-items: center;
 padding-top: 32px;
 border-top: 1px solid var(--border);
}

.news-single__pager-prev {
 text-align: left;
}
.news-single__pager-next {
 text-align: right;
}
.news-single__pager-back {
 text-align: center;
}

.news-single__pager-link {
 display: inline-flex;
 flex-direction: column;
 gap: 4px;
 text-decoration: none;
 transition: opacity 0.2s;
}
.news-single__pager-link:hover {
 opacity: 0.7;
}
.news-single__pager-label {
 font-size: 0.75rem;
 color: var(--text-light);
 letter-spacing: 0.5px;
}
.news-single__pager-title {
 font-size: 0.85rem;
 color: var(--brown);
 font-family: var(--serif);
 line-height: 1.5;
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.news-single__pager-all {
 display: inline-block;
 font-size: 0.82rem;
 color: var(--pink-deep);
 border: 1px solid var(--pink-light);
 padding: 8px 18px;
 border-radius: 50px;
 white-space: nowrap;
 text-decoration: none;
 transition: all 0.25s;
}
.news-single__pager-all:hover {
 background: var(--pink-deep);
 color: #fff;
 border-color: var(--pink-deep);
}

/* ============================================================
   ARCHIVE — ニュース一覧
============================================================ */
.news-archive {
 max-width: 760px;
}

.news-archive__header {
 margin-bottom: 40px;
 padding-bottom: 20px;
 border-bottom: 1px solid var(--border);
}
.news-archive__title {
 font-family: var(--serif);
 font-size: clamp(1.4rem, 3vw, 1.9rem);
 font-weight: 700;
 color: var(--brown);
 margin-top: 8px;
}

.news-archive__list {
 display: flex;
 flex-direction: column;
 border-top: 1px solid var(--border);
 margin-bottom: 48px;
}

.news-archive__item {
 display: flex;
 align-items: center;
 gap: 20px;
 padding: 20px 0;
 border-bottom: 1px solid var(--border);
 text-decoration: none;
 transition: background 0.2s;
}
.news-archive__item:hover {
 background: rgba(196, 96, 122, 0.04);
}

.news-archive__thumb {
 flex-shrink: 0;
 width: 100px;
 height: 75px;
 border-radius: 8px;
 overflow: hidden;
 background: var(--cream-dark);
}
@media (min-width: 768px) {
 .news-archive__thumb {
  width: 130px;
  height: 96px;
 }
}
.news-archive__thumb img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
}
.news-archive__thumb-placeholder {
 width: 100%;
 height: 100%;
 background: linear-gradient(135deg, var(--cream-dark), var(--pink-pale));
 border: 1.5px dashed var(--border);
 border-radius: 8px;
}

.news-archive__body {
 flex: 1;
 min-width: 0;
}

.news-archive__date {
 display: block;
 font-size: 0.75rem;
 color: var(--text-light);
 letter-spacing: 1px;
 margin-bottom: 6px;
 font-family: var(--sans);
}

.news-archive__item-title {
 font-family: var(--serif);
 font-size: 0.92rem;
 color: var(--brown);
 line-height: 1.7;
 overflow: hidden;
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 transition: color 0.2s;
}
.news-archive__item:hover .news-archive__item-title {
 color: var(--pink-deep);
}

.news-archive__empty {
 padding: 48px 0;
 text-align: center;
 font-size: 0.9rem;
 color: var(--text-light);
}

/* ページネーション */
.news-archive__pagination .nav-links {
 display: flex;
 justify-content: center;
 gap: 8px;
}
.news-archive__pagination .page-numbers {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 38px;
 height: 38px;
 border-radius: 50%;
 font-size: 0.85rem;
 color: var(--text-mid);
 border: 1px solid var(--border);
 text-decoration: none;
 transition: all 0.25s;
}
.news-archive__pagination .page-numbers:hover,
.news-archive__pagination .page-numbers.current {
 background: var(--pink-deep);
 color: #fff;
 border-color: var(--pink-deep);
}
.news-archive__pagination .page-numbers.dots {
 border: none;
 pointer-events: none;
}
/* ============================================================
   トップページへ戻るボタン
============================================================ */
.back-to-home {
 text-align: center;
}
.back-to-home__btn {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 color: var(--text-mid);
 font-size: 0.88rem;
 font-family: var(--sans);
 border: 1px solid var(--border);
 padding: 12px 28px;
 border-radius: 50px;
 text-decoration: none;
 transition: all 0.3s;
}
.back-to-home__btn:hover {
 background: var(--pink-deep);
 color: #fff;
 border-color: var(--pink-deep);
}
