@charset "UTF-8";
/*===============================
media
page-media.php
================================*/

.media-section {
 --cream: #f4efe6;
 --cream2: #f9f5ee;
 --dark: #1c1810;
 --dark2: #221e12;
 --gold: #8a6e3a;
 --gold2: #c8a870;
 --muted: rgba(28, 24, 16, 0.42);
 --border: rgba(28, 24, 16, 0.08);
 --nav-h: 64px;
}

.media-kicker {
 font-family: "Cormorant Garamond", serif;
 font-size: 12px;
 letter-spacing: 0.55em;
 color: rgba(138, 110, 58, 1);
 font-style: italic;
 margin-bottom: 12px;
 display: block;
}

.media-section .reveal {
 opacity: 0;
 transform: translateY(16px);
 transition:
  opacity 0.65s ease,
  transform 0.65s ease;
}
.media-section .reveal.visible {
 opacity: 1;
 transform: none;
}

/* ============================================================
  ① ページヘッダー
============================================================ */
.media-head {
 padding-top: var(--nav-h);
 background: var(--cream2);
 border-bottom: 0.5px solid var(--border);
}
.media-head__inner {
 padding-top: 52px;
 padding-bottom: 48px;
}
@media screen and (min-width: 768px) {
 .media-head__inner {
  padding-top: 72px;
  padding-bottom: 60px;
 }
}

.media-head__title {
 font-family: "Shippori Mincho B1", serif;
 font-size: 28px;
 font-weight: 400;
 letter-spacing: 0.1em;
 color: var(--dark);
 margin: 10px 0 16px;
}
@media screen and (min-width: 768px) {
 .media-head__title {
  font-size: 36px;
 }
}

.media-head__desc {
 font-size: 13px;
 line-height: 2.3;
 color: rgb(28 24 16);
 font-weight: 300;
 letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
 .media-head__desc {
  font-size: 14px;
 }
}

/* ============================================================
  ② 掲載リスト
============================================================ */
.media-list-section {
 padding: 56px 0;
}
@media screen and (min-width: 768px) {
 .media-list-section {
  padding: 72px 0;
 }
}

/* 各アイテム */
.media-item {
 display: grid;
 grid-template-columns: 100px 1fr;
 gap: 28px;
 padding: 32px 0;
 border-bottom: 0.5px solid var(--border);
 align-items: start;
}
.media-item:first-child {
 border-top: 0.5px solid var(--border);
}

@media screen and (min-width: 600px) {
 .media-item {
  grid-template-columns: 140px 1fr;
  gap: 36px;
  padding: 36px 0;
 }
}
@media screen and (min-width: 768px) {
 .media-item {
  grid-template-columns: 160px 1fr;
  gap: 48px;
  padding: 40px 0;
 }
}
@media screen and (min-width: 1024px) {
 .media-item {
  grid-template-columns: 200px 1fr;
  gap: 64px;
 }
}

/* 表紙 */
.media-item__cover {
 position: relative;
 flex-shrink: 0;
}
.media-item__cover img,
.media-item__placeholder {
 width: 100%;
 aspect-ratio: 3 / 4;
 object-fit: cover;
 display: block;
 background: #d8d0bc;
 border: 0.5px solid var(--border);
}

.media-item__year-badge {
 position: absolute;
 bottom: -10px;
 left: -10px;
 font-family: "Cormorant Garamond", serif;
 font-size: 11px;
 letter-spacing: 0.2em;
 color: var(--cream);
 background: var(--dark2);
 padding: 4px 10px;
 font-style: italic;
}

/* テキスト */
.media-item__body {
 display: flex;
 flex-direction: column;
 gap: 14px;
 padding-top: 4px;
}

.media-item__meta {
 display: flex;
 flex-direction: column;
 gap: 5px;
}

.media-item__pub {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 16px */
 font-size: 16px;
 font-weight: 400;
 letter-spacing: 0.1em;
 color: var(--dark);
 display: block;
}
@media screen and (min-width: 768px) {
 .media-item__pub {
  font-size: 18px;
 }
}
@media screen and (min-width: 1024px) {
 .media-item__pub {
  font-size: 20px;
 }
}

.media-item__issue {
 font-family: "Cormorant Garamond", serif;
 font-size: 11px;
 letter-spacing: 0.25em;
 color: rgb(28 24 16);
 font-style: italic;
 display: block;
}
@media screen and (min-width: 768px) {
 .media-item__issue {
  font-size: 12px;
 }
}

.media-item__feature {
 font-size: 13px;
 line-height: 1.9;
 color: rgb(28 24 16);
 font-weight: 300;
 letter-spacing: 0.08em;
 padding-left: 16px;
 border-left: 2px solid rgba(138, 110, 58, 0.25);
}
@media screen and (min-width: 768px) {
 .media-item__feature {
  font-size: 14px;
 }
}

.media-item__works {
 list-style: none;
 display: flex;
 flex-direction: column;
 gap: 0;
}
.media-item__works li {
 font-family: "Shippori Mincho B1", serif;
 font-size: 13px;
 letter-spacing: 0.08em;
 color: var(--dark);
 padding: 10px 0;
 border-bottom: 0.5px solid var(--border);
 display: flex;
 align-items: center;
 gap: 10px;
}
@media screen and (min-width: 768px) {
 .media-item__works li {
  font-size: 14px;
 }
}
.media-item__works li:first-child {
 border-top: 0.5px solid var(--border);
}
.media-item__works li::before {
 content: "";
 display: inline-block;
 width: 4px;
 height: 4px;
 border-radius: 50%;
 background: var(--gold2);
 flex-shrink: 0;
}

/* ============================================================
  ③ CTA
============================================================ */
.media-cta {
 background: var(--dark2);
 padding: 56px 0;
 border-top: 0.5px solid rgba(245, 240, 232, 0.06);
}
@media screen and (min-width: 768px) {
 .media-cta {
  padding: 64px 0;
 }
}

.media-cta__inner {
 display: flex;
 flex-direction: column;
 gap: 28px;
}
@media screen and (min-width: 768px) {
 .media-cta__inner {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
 }
}
.media-cta .media-kicker {
 color: rgba(200, 168, 112, 0.5);
}

.media-cta__title {
 font-family: "Shippori Mincho B1", serif;
 font-size: 18px;
 letter-spacing: 0.1em;
 color: #f0e8d8;
 margin-top: 8px;
 line-height: 1.7;
}
@media screen and (min-width: 768px) {
 .media-cta__title {
  font-size: 20px;
 }
}

.media-btn-primary {
 display: inline-flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 15px 28px;
 background: var(--gold2);
 color: var(--dark2);
 font-family: "Shippori Mincho B1", serif;
 font-size: 13px;
 letter-spacing: 0.15em;
 text-decoration: none;
 border: none;
 cursor: pointer;
 transition: background 0.25s;
 white-space: nowrap;
 flex-shrink: 0;
}
@media screen and (min-width: 768px) {
 .media-btn-primary {
  font-size: 14px;
 }
}
.media-btn-primary:hover {
 background: #e0c090;
}

@media screen and (min-width: 768px) {
}
