@charset "UTF-8";

/* ============================================
   komonogatari.css - コモノガタリページ
   ============================================ */

.komono-page {
  max-width: 720px;
  margin: 0 auto;
  /* main { padding-top: 54px } を上書きせず、固定ヘッダー下に潜らないように */
  padding: 54px 16px 60px;
  color: var(--c-text);
}
/* パンくずは style.css の共通スタイルを使用。
   page padding を相殺して画面横幅いっぱいに(余白なしで他ページと統一) */
.komono-page .breadcrumb {
  margin: 0 -16px;
}

/* ===== Hero ===== */
.komono-hero {
  position: relative;
  margin: 0 -16px 32px;            /* 画像サイズは元のフル幅に戻す */
}
.komono-hero__visual {
  position: relative;
  width: 100%;
}
/* 金箔風フレームを画像の内側に重ねる(角丸付き) */
.komono-hero__visual::after {
  content: "";
  position: absolute;
  inset: 14px;                     /* 画像の縁から内側に14px */
  border-radius: 10px;
  border: 1.5px solid transparent;
  /* グラデーションを border 部分にだけ出す(角丸対応のグラデ枠テク) */
  background: linear-gradient(
    135deg,
    #f3e1a4 0%,
    #c89a45 20%,
    #f7eecb 42%,
    #b8893b 60%,
    #efd896 80%,
    #c79a45 100%
  ) border-box;
  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}
.komono-hero__visual img {
  display: block;
  width: 100%;
  height: auto;
}
/* テキストの真下に敷くブラー画像(shop と共通) */
.komono-hero__bura {
  position: absolute;
  top: calc(58% - 30px);          /* テキストは据え置き、bura のみ 10px 下げ */
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 50px);       /* 拡大 */
  max-width: 560px;
  height: auto;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}
.komono-hero__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 38% 16px 0;
  transform: translateY(-50px);   /* テキストをさらに10px上(合計50px) */
  color: var(--c-text);
  z-index: 2;
}
.komono-hero__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 16px;
  gap: 6px;
  line-height: 1;
}
.komono-hero__title-jp {
  font-family: 'Kaisei Decol', serif;
  font-size: 28px;
  font-weight: 400;
  letter-spacing: 0.35em;
  color: var(--c-text);
  /* letter-spacing 分の右側オフセットを相殺して中央揃えに見せる */
  padding-left: 0.35em;
}
.komono-hero__title-en {
  font-family: 'Kaisei Decol', serif;
  font-size: 9px;
  letter-spacing: 0.4em;
  color: var(--c-text);
  padding-left: 0.4em;
}
.komono-hero__catch {
  margin: 0 0 12px;
  font-family: 'Kaisei Decol', serif;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1;
  color: var(--c-text);
}
.komono-hero__desc {
  margin: 0;
  font-family: 'Kaisei Decol', serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0.05em;
  color: var(--c-text);
}

/* ===== Pick up Creator ===== */
.komono-pickup {
  margin: 32px 0 40px;
  text-align: center;
}
.komono-pickup__title {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 22px;
  color: var(--c-text);
  margin: 0 0 22px;
  letter-spacing: 0.04em;
}

/* slider/slider__track/slider__dots は style.css の共通定義を使用 */
.creator-slider {
  /* 左右にはみ出しを許可するよう visible にも見えるが、track 自体は overflow: hidden */
}
.creator-slider .slider__track {
  align-items: center;
}
.creator-card {
  flex: 0 0 60%;
  position: relative;
  transform: scale(0.78);
  transform-origin: center center;
  transition: transform 500ms ease, opacity 500ms ease;
  opacity: 0.55;
}
.creator-card.is-active {
  transform: scale(1);
  opacity: 1;
}
.creator-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.creator-card__frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
}
.creator-card__frame-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  object-fit: contain;
}
.creator-card__work {
  /* komono-frame.png の写真エリア(中央〜下寄り)に合わせて配置 */
  position: absolute;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 82%;
  height: 78%;
  object-fit: cover;
  z-index: 1;
  border-radius: 2px;
}
.creator-card__nameplate {
  position: relative;
  display: block;
  width: 58%;
  margin: 6px auto 0;
  z-index: 3;
}
.creator-card__nameplate-img {
  display: block;
  width: 100%;
  height: auto;
}
.creator-card__name {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 18px;
  letter-spacing: 0.05em;
  color: var(--c-text);
  padding-bottom: 2px;
}

/* ===== Gallery ===== */
.komono-gallery {
  margin: 36px 0 44px;
}
.komono-gallery__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 14px;
}
.komono-gallery__item {
  position: relative;
}
.komono-gallery__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.komono-gallery__frame {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
}
.komono-gallery__frame-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  object-fit: contain;
}
.komono-gallery__work {
  position: absolute;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 82%;
  height: 78%;
  object-fit: cover;
  z-index: 1;
  border-radius: 2px;
}
.komono-gallery__nameplate {
  position: relative;
  display: block;
  width: 78%;
  margin: 6px auto 0;
  z-index: 3;
}
.komono-gallery__nameplate-img {
  display: block;
  width: 100%;
  height: auto;
}
.komono-gallery__name {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0.05em;
  color: var(--c-text);
  padding-bottom: 2px;
}

/* ===== Recruitment ===== */
.komono-recruitment {
  position: relative;
  display: block;
  margin: 44px auto 60px;
  max-width: 480px;
  text-decoration: none;
  color: var(--c-text);
  transition: opacity .2s;
}
.komono-recruitment:hover {
  opacity: 0.9;
}
.komono-recruitment__bg {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}
.komono-recruitment__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 12% 14%;
  color: var(--c-text);
}
.komono-recruitment__lead {
  margin: 0 0 14px;
  font-family: 'Kaisei Decol', 'Shippori Mincho', serif;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--c-text);
}
.komono-recruitment__title {
  margin: 0 0 14px;
  font-family: 'Kaisei Decol', 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.7;
  color: var(--c-text);
}
.komono-recruitment__divider {
  display: block;
  width: 60%;
  height: 1px;
  background: var(--c-text);
  margin: 0 0 14px;
  opacity: 0.6;
}
.komono-recruitment__desc {
  margin: 0;
  font-family: 'Kaisei Decol', 'Shippori Mincho', serif;
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1.85;
  color: var(--c-text);
}

/* ===== PC (>=768px) ===== */
@media (min-width: 768px) {
  .komono-page {
    max-width: 880px;
    padding: 54px 24px 80px;
  }
  .komono-page .breadcrumb {
    margin: 0 -24px;
  }
  .komono-hero {
    margin: 0 -24px 44px;
  }
  .komono-hero__inner {
    padding: 36% 24px 0;
  }
  .komono-hero__title-jp {
    font-size: 42px;
  }
  .komono-hero__title-en {
    font-size: 11px;
  }
  .komono-hero__catch {
    font-size: 18px;
  }
  .komono-hero__desc {
    font-size: 13px;
  }
  .komono-pickup__title {
    font-size: 28px;
  }
  .creator-card {
    flex: 0 0 60%;
  }
  .creator-card__name {
    font-size: 22px;
  }
  .komono-gallery__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px 18px;
  }
  .komono-gallery__name {
    font-size: 14px;
  }
  .komono-recruitment {
    max-width: 560px;
  }
  .komono-recruitment__lead {
    font-size: 14px;
  }
  .komono-recruitment__title {
    font-size: 20px;
  }
  .komono-recruitment__desc {
    font-size: 12px;
  }
}
