@charset "UTF-8";
/*===============================
home.css
================================*/

/* ============================================================
  ① KV / HERO
============================================================ */

.home-kv {
 position: relative;
 width: 100%;
 height: 100svh;
 min-height: 500px;
 overflow: hidden;
 background: #f4efe6;
}

/* スライダーをKV背景として全面配置 */
.home-kv__slider {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 z-index: 1;
}

.home-kv__slider .swiper-wrapper,
.home-kv__slide {
 width: 100%;
 height: 100%;
}

.home-kv__slide {
 position: relative;
 overflow: hidden;
 background: #f4efe6;
}

/* 画像サイズ・比率がバラバラでも画面に良い感じに納める */
.home-kv__slide img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center center;
}

/* スライダーのページネーション */
.home-kv .swiper-pagination {
 z-index: 20;
}

.home-kv .swiper-pagination-bullet {
 background: rgba(244, 239, 230, 0.5);
 opacity: 1;
}

.home-kv .swiper-pagination-bullet-active {
 background: var(--gold2);
}

/* KVテキストブロック */
.home-kv__body {
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: 10;
 padding: 40px 20px 48px;
 width: 100%;
 background: linear-gradient(
  to top,
  rgba(28, 24, 16, 0.6) 0%,
  transparent 100%
 );
}

@media screen and (min-width: 768px) {
 .home-kv__body {
  isolation: isolate;
  width: 60%;
  padding: 56px 40px 60px;
  background: none;
 }

 /* 左下を中心に、上と右へ自然に薄くなるKV背景 */
 .home-kv__body::before {
  content: "";
  position: absolute;

  /*
   * 上へ160px、右へ320px伸ばすことで、
   * 上端・右端に直線的な切れ目が出ないようにする
   */
  inset: -160px -320px 0 0;

  z-index: -1;
  pointer-events: none;

  background: radial-gradient(
   ellipse 95% 130% at 0% 100%,
   rgba(28, 24, 16, 0.68) 0%,
   rgba(28, 24, 16, 0.52) 30%,
   rgba(28, 24, 16, 0.28) 52%,
   rgba(28, 24, 16, 0.1) 68%,
   rgba(28, 24, 16, 0) 82%
  );
 }
}

@media screen and (min-width: 1024px) {
 .home-kv__body {
  padding: 72px 56px 72px;
 }
}

.home-kv__eyebrow {
 font-family: "Cormorant Garamond", serif;
 font-size: 12px;
 letter-spacing: 0.45em;
 color: rgba(200, 168, 112, 0.8);
 font-style: italic;
 margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
 .home-kv__eyebrow {
  font-size: 12px;
  margin-bottom: 20px;
 }
}

.home-kv__title {
 font-family: "Shippori Mincho B1", serif;
 font-size: 32px;
 font-weight: 400;
 line-height: 1.65;
 letter-spacing: 0.07em;
 color: #f0e8d8;
 margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
 .home-kv__title {
  font-size: 40px;
  margin-bottom: 20px;
 }
}

@media screen and (min-width: 1200px) {
 .home-kv__title {
  font-size: 48px;
 }
}

.home-kv__title em {
 font-style: normal;
 color: var(--gold2);
}

.home-kv__desc {
 font-size: 13px;
 line-height: 2.2;
 color: rgba(240, 232, 216, 0.65);
 font-weight: 200;
 letter-spacing: 0.1em;
 margin-bottom: 28px;
}

@media screen and (min-width: 768px) {
 .home-kv__desc {
  font-size: 14px;
  margin-bottom: 36px;
 }
}

.home-kv__body .c-link-arrow {
 color: var(--gold2);
}

.home-kv__body .c-link-arrow::after {
 background: var(--gold2);
}

/* works数カウンター */
.home-kv__num {
 position: absolute;
 bottom: 28px;
 right: 20px;
 z-index: 10;
 text-align: right;
 pointer-events: none;
}

@media screen and (min-width: 768px) {
 .home-kv__num {
  bottom: 36px;
  right: 40px;
 }
}

.home-kv__num-n {
 font-family: "Cormorant Garamond", serif;
 font-size: 60px;
 font-weight: 300;
 color: rgba(244, 239, 230, 0.08);
 line-height: 1;
 display: block;
}

@media screen and (min-width: 768px) {
 .home-kv__num-n {
  font-size: 88px;
 }
}

.home-kv__num-l {
 font-size: 9px;
 letter-spacing: 0.4em;
 color: rgba(244, 239, 230, 0.25);
 display: block;
}

/* ============================================================
  ② STATS BAR
============================================================ */
.home-stats {
 background: var(--dark2);
}
.home-stats__inner {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
 .home-stats__inner {
  grid-template-columns: repeat(4, 1fr);
 }
}
.home-stats__item {
 padding: 20px 16px;
 border-right: 0.5px solid rgba(245, 240, 232, 0.07);
 text-align: center;
}
.home-stats__item:nth-child(2) {
 border-right: none;
}
.home-stats__item:nth-child(3) {
 border-top: 0.5px solid rgba(245, 240, 232, 0.07);
}
@media screen and (min-width: 768px) {
 .home-stats__item {
  padding: 26px 24px;
 }
 .home-stats__item:nth-child(2) {
  border-right: 0.5px solid rgba(245, 240, 232, 0.07);
 }
 .home-stats__item:nth-child(3) {
  border-top: none;
 }
 .home-stats__item:last-child {
  border-right: none;
 }
}
.home-stats__n {
 font-family: "Cormorant Garamond", serif;
 /* スマホ: 30px */
 font-size: 30px;
 font-weight: 300;
 color: var(--gold2);
 line-height: 1;
 margin-bottom: 6px;
}
@media screen and (min-width: 768px) {
 .home-stats__n {
  font-size: 36px;
 }
}
@media screen and (min-width: 1200px) {
 .home-stats__n {
  font-size: 40px;
 }
}
.home-stats__n sup {
 font-size: 14px;
}
.home-stats__l {
 /* スマホ: 10px */
 font-size: 12px;
 letter-spacing: 0.15em;
 color: rgba(240, 232, 216, 0.4);
 font-weight: 200;
 line-height: 1.8;
}
@media screen and (min-width: 768px) {
 .home-stats__l {
  font-size: 12px;
 }
}

/* ============================================================
  ④ WORKS
============================================================ */
.home-works {
 padding: 60px 0 0;
}
@media screen and (min-width: 768px) {
 .home-works {
  padding: 72px 0 0;
 }
}

.home-works__head {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin-bottom: 20px;
 padding-bottom: 20px;
 border-bottom: 0.5px solid var(--border);
}

/* フィルターバー */
.home-works__filter {
 display: flex;
 gap: 6px;
 flex-wrap: wrap;
 padding: 16px 0;
 border-bottom: 0.5px solid var(--border);
 overflow-x: auto;
 justify-content: center;
}
.home-works__fbtn {
 font-size: 12px;
 letter-spacing: 0.2em;
 padding: 7px 16px;
 border: 0.5px solid var(--border);
 background: transparent;
 color: rgb(28 24 16);
 cursor: pointer;
 white-space: nowrap;
 font-family: "Noto Serif JP", serif;
 transition: all 0.2s;
}
@media screen and (min-width: 768px) {
 .home-works__fbtn {
  font-size: 12px;
  padding: 7px 18px;
 }
}
.home-works__fbtn.is-active,
.home-works__fbtn:hover {
 background: var(--dark);
 color: var(--cream);
 border-color: var(--dark);
}

/* グリッド */
.home-works__grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 2px;
 background: var(--border);
 padding: 2px;
 margin: 2px 0 0;
}
@media screen and (min-width: 600px) {
 .home-works__grid {
  grid-template-columns: repeat(2, 1fr);
 }
}
@media screen and (min-width: 1024px) {
 .home-works__grid {
  grid-template-columns: repeat(3, 1fr);
 }
}

.home-works__card {
 background: var(--cream);
 cursor: pointer;
 overflow: hidden;
 transition: opacity 0.25s;
 text-decoration: none;
 color: inherit;
 display: block;
}
.home-works__card:hover {
 opacity: 0.85;
}
.home-works__card.is-hidden {
 display: none;
}

/* サムネイル */
.home-works__img {
 aspect-ratio: 4 / 3;
 background: #ddd5bc;
 position: relative;
 overflow: hidden;
}
.home-works__img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.4s ease;
}
.home-works__card:hover .home-works__img img {
 transform: scale(1.03);
}
.home-works__img-placeholder {
 width: 100%;
 height: 100%;
 /* ★プレースホルダー背景色 */
 background: #d5cdb8;
}

.home-works__badge {
 position: absolute;
 top: 10px;
 left: 10px;
 font-family: "Cormorant Garamond", serif;
 font-size: 9px;
 letter-spacing: 0.3em;
 font-style: italic;
 color: rgba(28, 24, 16, 0.65);
 background: rgba(244, 239, 230, 0.85);
 padding: 4px 10px;
 backdrop-filter: blur(4px);
}

.home-works__info {
 padding: 14px 16px 18px;
}
.home-works__name {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 13px */
 font-size: 13px;
 letter-spacing: 0.08em;
 line-height: 1.65;
 margin-bottom: 5px;
 color: var(--dark);
}
@media screen and (min-width: 768px) {
 .home-works__name {
  font-size: 14px;
 }
}
.home-works__meta {
 font-size: 12px;
 letter-spacing: 0.15em;
 color: rgb(28 24 16);
 font-family: "Cormorant Garamond", serif;
 font-style: italic;
}

/* ============================================================
  ④ CONCEPT
============================================================ */
.home-concept {
 display: grid;
 grid-template-columns: 1fr;
 border-top: 0.5px solid var(--border);
}
@media screen and (min-width: 768px) {
 .home-concept {
  grid-template-columns: 1fr 1fr;
  min-height: 380px;
 }
}

.home-concept__text {
 padding: 56px 20px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 gap: 16px;
}
@media screen and (min-width: 768px) {
 .home-concept__text {
  padding: 64px 40px;
 }
}
@media screen and (min-width: 1200px) {
 .home-concept__text {
  padding: 80px 56px;
 }
}

.home-concept__visual {
 background: #d8cfb8;
 overflow: hidden;
 min-height: 260px;
}
@media screen and (min-width: 768px) {
 /* タブレット以上: テキストより後に（右側）に置く */
 .home-concept__visual {
  order: 1;
  min-height: auto;
 }
 .home-concept__text {
  order: 0;
 }
}
.home-concept__visual img,
.home-concept__img-placeholder {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 background: #d0c8b4;
}

/* ============================================================
  ⑤ ENTRY — 資料請求
============================================================ */
.home-entry {
 display: grid;
 grid-template-columns: 1fr;
 border-top: 0.5px solid var(--border);
 background: var(--cream2);
}
@media screen and (min-width: 768px) {
 .home-entry {
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
 }
}

.home-entry__text {
 padding: 56px 20px;
 display: flex;
 flex-direction: column;
 gap: 16px;
}
@media screen and (min-width: 768px) {
 .home-entry__text {
  padding: 64px 40px;
 }
}
@media screen and (min-width: 1200px) {
 .home-entry__text {
  padding: 72px 56px;
 }
}

.home-entry__actions {
 display: flex;
 flex-direction: column;
 gap: 10px;
 margin-top: 4px;
}

.home-entry__visual {
 background: #e0d8c4;
 overflow: hidden;
 min-height: 240px;
}
@media screen and (min-width: 768px) {
 .home-entry__visual {
  order: 1;
  min-height: auto;
 }
}
.home-entry__visual img,
.home-entry__img-placeholder {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 background: #d8d0bc;
}

.c-btn-primary__arrow {
 font-size: 16px;
 margin-left: 8px;
}

/* ============================================================
  ⑥ FLOW
============================================================ */
.home-flow {
 padding: 60px 0;
 border-top: 0.5px solid var(--border);
 background: var(--cream2);
}
@media screen and (min-width: 768px) {
 .home-flow {
  padding: 80px 0;
 }
}

.home-flow__head {
 margin-bottom: 40px;
 display: flex;
 flex-direction: column;
 gap: 12px;
}
@media screen and (min-width: 768px) {
 .home-flow__head {
  margin-bottom: 52px;
 }
}

.home-flow__list {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 28px 20px;
 list-style: none;
 position: relative;
}
@media screen and (min-width: 768px) {
 .home-flow__list {
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
 }
}
@media screen and (min-width: 1024px) {
 .home-flow__list {
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
 }
}

.home-flow__step {
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 position: relative;
 z-index: 1;
}

.home-flow__circle {
 width: 56px;
 height: 56px;
 border-radius: 50%;
 border: 0.5px solid rgba(138, 110, 58, 0.5);
 background: var(--cream2);
 display: flex;
 align-items: center;
 justify-content: center;
 margin-bottom: 14px;
}
@media screen and (min-width: 768px) {
 .home-flow__circle {
  width: 62px;
  height: 62px;
 }
}
.home-flow__circle--first {
 border-color: var(--gold);
 background: #fdf8f0;
}
.home-flow__step-num {
 font-family: "Cormorant Garamond", serif;
 font-size: 16px;
 font-weight: 300;
 color: var(--gold);
 font-style: italic;
}

.home-flow__step-name {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 13px */
 font-size: 13px;
 letter-spacing: 0.08em;
 margin-bottom: 6px;
 color: var(--dark);
}
@media screen and (min-width: 768px) {
 .home-flow__step-name {
  font-size: 14px;
 }
}

.home-flow__step-desc {
 /* スマホ: 11px */
 text-align: center;
 font-size: 12px;
 line-height: 1.9;
 color: rgb(28 24 16);
 font-weight: 200;
 letter-spacing: 0.06em;
 margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
 .home-flow__step-desc {
  font-size: 12px;
 }
}

.home-flow__step-badge {
 display: inline-block;
 padding: 3px 10px;
 border: 0.5px solid rgba(138, 110, 58, 0.28);
 font-size: 12px;
 letter-spacing: 0.18em;
 color: var(--gold);
 font-family: "Cormorant Garamond", serif;
 font-style: italic;
}

/* ============================================================
  ⑦ FAQ
============================================================ */
.home-faq {
 padding: 60px 0;
 border-top: 0.5px solid var(--border);
}
@media screen and (min-width: 768px) {
 .home-faq {
  padding: 80px 0;
 }
}

.home-faq__inner {
 display: grid;
 grid-template-columns: 1fr;
 gap: 36px;
}
@media screen and (min-width: 1024px) {
 .home-faq__inner {
  grid-template-columns: 260px 1fr;
  gap: 64px;
  align-items: start;
 }
}

.home-faq__list {
 display: flex;
 flex-direction: column;
}
.home-faq__item {
 border-top: 0.5px solid var(--border);
}
.home-faq__item:last-child {
 border-bottom: 0.5px solid var(--border);
}

.home-faq__q {
 display: grid;
 grid-template-columns: 26px 1fr 20px;
 gap: 12px;
 align-items: center;
 padding: 20px 0;
 cursor: pointer;
 user-select: none;
}
@media screen and (min-width: 768px) {
 .home-faq__q {
  padding: 22px 0;
  gap: 16px;
 }
}
.home-faq__q-mark {
 font-family: "Cormorant Garamond", serif;
 font-size: 18px;
 font-weight: 300;
 color: var(--gold2);
 font-style: italic;
}
.home-faq__q-text {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 13px */
 font-size: 13px;
 letter-spacing: 0.07em;
 line-height: 1.65;
 color: var(--dark);
}
@media screen and (min-width: 768px) {
 .home-faq__q-text {
  font-size: 14px;
 }
}

.home-faq__q-icon {
 width: 18px;
 height: 18px;
 position: relative;
 flex-shrink: 0;
}
.home-faq__q-icon::before,
.home-faq__q-icon::after {
 content: "";
 position: absolute;
 background: var(--muted);
 border-radius: 1px;
}
.home-faq__q-icon::before {
 width: 12px;
 height: 0.5px;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
.home-faq__q-icon::after {
 width: 0.5px;
 height: 12px;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 transition:
  opacity 0.3s,
  transform 0.3s;
}
.home-faq__item.is-open .home-faq__q-icon::after {
 opacity: 0;
 transform: translate(-50%, -50%) rotate(90deg);
}

.home-faq__a {
 display: grid;
 grid-template-rows: 0fr;
 transition: grid-template-rows 0.35s ease;
 padding-left: 38px;
}
.home-faq__item.is-open .home-faq__a {
 grid-template-rows: 1fr;
}
.home-faq__a-inner {
 overflow: hidden;
}
.home-faq__a p {
 /* スマホ: 13px */
 font-size: 13px;
 line-height: 2.4;
 color: rgb(28 24 16);
 font-weight: 300;
 letter-spacing: 0.1em;
 padding-bottom: 22px;
}
@media screen and (min-width: 768px) {
 .home-faq__a p {
  font-size: 14px;
 }
}

/* ============================================================
  ⑧ VOICE
============================================================ */
.home-voice {
 background: var(--dark2);
 padding: 60px 0;
 border-top: 0.5px solid rgba(255, 255, 255, 0.04);
}
@media screen and (min-width: 768px) {
 .home-voice {
  padding: 80px 0;
 }
}

.home-voice__head {
 display: flex;
 flex-direction: column;
 gap: 12px;
 margin-bottom: 36px;
}
@media screen and (min-width: 768px) {
 .home-voice__head {
  margin-bottom: 48px;
 }
}

.home-voice__grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 2px;
 background: rgba(255, 255, 255, 0.04);
}
@media screen and (min-width: 768px) {
 .home-voice__grid {
  grid-template-columns: 1fr 1fr;
 }
}

.home-voice__card {
 background: #2a2418;
 padding: 36px 28px;
}
@media screen and (min-width: 768px) {
 .home-voice__card {
  padding: 44px 40px;
 }
}
.home-voice__open {
 font-family: "Cormorant Garamond", serif;
 font-size: 48px;
 font-weight: 300;
 color: rgba(200, 168, 112, 0.15);
 line-height: 1;
 margin-bottom: 12px;
 font-style: italic;
}
.home-voice__text {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 13px */
 font-size: 13px;
 letter-spacing: 0.08em;
 line-height: 2;
 color: rgba(240, 232, 216, 0.85);
 margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
 .home-voice__text {
  font-size: 14px;
 }
}
.home-voice__line {
 width: 24px;
 height: 0.5px;
 background: rgba(200, 168, 112, 0.3);
 margin-bottom: 12px;
}
.home-voice__source {
 font-size: 12px;
 letter-spacing: 0.2em;
 color: rgba(240, 232, 216, 0.35);
 font-family: "Cormorant Garamond", serif;
 font-style: italic;
}

.home-voice__more {
 margin-top: 24px;
 display: flex;
 justify-content: flex-end;
}

/* ============================================================
  ⑨ CONTACT CTA
============================================================ */
.home-contact {
 padding: 60px 0;
 border-top: 0.5px solid var(--border);
}
@media screen and (min-width: 768px) {
 .home-contact {
  padding: 80px 0;
 }
}

.home-contact__inner {
 display: grid;
 grid-template-columns: 1fr;
 gap: 40px;
}
@media screen and (min-width: 1024px) {
 .home-contact__inner {
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
 }
}

.home-contact__text {
 display: flex;
 flex-direction: column;
 gap: 14px;
}

.home-contact__cards {
 display: grid;
 grid-template-columns: 1fr;
 gap: 2px;
 background: var(--border);
}

.home-contact__card {
 background: var(--cream2);
 padding: 32px 28px;
 display: flex;
 flex-direction: column;
 gap: 10px;
}
@media screen and (min-width: 768px) {
 .home-contact__card {
  padding: 40px 36px;
 }
}
.home-contact__card--dark {
 background: var(--dark2);
}
.home-contact__card-kicker {
 font-family: "Cormorant Garamond", serif;
 font-size: 9px;
 letter-spacing: 0.45em;
 font-style: italic;
 color: rgba(138, 110, 58, 0.55);
}
.home-contact__card--dark .home-contact__card-kicker {
 color: rgba(200, 168, 112, 0.45);
}
.home-contact__card-title {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 15px */
 font-size: 15px;
 letter-spacing: 0.1em;
 color: var(--dark);
 line-height: 1.65;
}
@media screen and (min-width: 768px) {
 .home-contact__card-title {
  font-size: 16px;
 }
}
.home-contact__card--dark .home-contact__card-title {
 color: #f0e8d8;
}
.home-contact__card-desc {
 font-size: 12px;
 line-height: 2.1;
 color: rgb(28 24 16);
 font-weight: 200;
 letter-spacing: 0.1em;
 flex: 1;
}
@media screen and (min-width: 768px) {
 .home-contact__card-desc {
  font-size: 13px;
 }
}
.home-contact__card--dark .home-contact__card-desc {
 color: rgba(240, 232, 216, 0.4);
}

/* ============================================================
  ⑩ MEDIA
============================================================ */
.home-media {
 padding: 44px 0;
 border-top: 0.5px solid var(--border);
 background: var(--cream2);
}

.home-media__list {
 display: flex;
 flex-wrap: wrap;
 gap: 0;
 margin-top: 20px;
 list-style: none;
}
.home-media__item {
 padding: 12px 20px;
 border: 0.5px solid var(--border);
 margin: 0 -0.5px -0.5px 0;
 background: var(--cream2);
 display: flex;
 flex-direction: column;
 gap: 3px;
}
.home-media__name {
 font-family: "Shippori Mincho B1", serif;
 /* スマホ: 12px */
 font-size: 12px;
 letter-spacing: 0.1em;
 color: rgba(28, 24, 16, 0.65);
}
@media screen and (min-width: 768px) {
 .home-media__name {
  font-size: 13px;
 }
}
.home-media__issue {
 font-size: 12px;
 letter-spacing: 0.2em;
 color: rgb(28 24 16);
 font-family: "Cormorant Garamond", serif;
 font-style: italic;
}

@media screen and (min-width: 768px) {
}
/* ============================================================
  CTA
============================================================ */
.concept-cta {
 padding: 56px 0;
 border-top: 0.5px solid var(--border);
}

@media screen and (min-width: 768px) {
 .concept-cta {
  padding: 72px 0;
 }
}

.concept-cta__inner {
 display: flex;
 flex-direction: column;
 gap: 28px;
}

@media screen and (min-width: 768px) {
 .concept-cta__inner {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
 }
}

.concept-cta__title {
 font-family: "Shippori Mincho B1", serif;
 font-size: 18px;
 letter-spacing: 0.1em;
 color: var(--dark);
 margin-top: 8px;
 line-height: 1.7;
}

@media screen and (min-width: 768px) {
 .concept-cta__title {
  font-size: 20px;
 }
}

.concept-cta__btns {
 display: flex;
 flex-direction: column;
 gap: 10px;
 flex-shrink: 0;
}

@media screen and (min-width: 768px) {
 .concept-cta__btns {
  flex-direction: row;
  align-items: center;
  gap: 12px;
 }
}

/* ============================================================
  Contact
============================================================ */
.page-concept .c-kicker {
 font-family: "Cormorant Garamond", serif;
 font-size: 12px;
 letter-spacing: 0.55em;
 color: rgba(138, 110, 58, 1);
 font-style: italic;
 margin-bottom: 14px;
 display: block;
}

/* ============================================================
  Primary Button
============================================================ */
.page-concept .c-btn-primary {
 display: inline-flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 15px 28px;
 background: var(--dark);
 color: var(--cream);
 font-family: "Shippori Mincho B1", serif;
 font-size: 13px;
 letter-spacing: 0.12em;
 text-decoration: none;
 border: none;
 cursor: pointer;
 transition: background 0.25s;
}

@media screen and (min-width: 768px) {
 .page-concept .c-btn-primary {
  font-size: 14px;
 }
}

.page-concept .c-btn-primary:hover {
 background: #8a6e3a;
}

/* ============================================================
  Secondary Button
============================================================ */
.page-concept .c-btn-secondary {
 display: inline-flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 padding: 13px 28px;
 background: transparent;
 color: var(--dark);
 font-family: "Noto Serif JP", serif;
 font-size: 13px;
 letter-spacing: 0.15em;
 text-decoration: none;
 border: 0.5px solid rgba(28, 24, 16, 0.1);
 cursor: pointer;
 transition: all 0.25s;
}

@media screen and (min-width: 768px) {
 .page-concept .c-btn-secondary {
  font-size: 14px;
 }
}

.page-concept .c-btn-secondary:hover {
 border-color: #8a6e3a;
 color: #8a6e3a;
}

/* ============================================================
  Reveal Animation
============================================================ */
.page-concept .reveal {
 opacity: 0;
 transform: translateY(16px);
 transition:
  opacity 0.65s ease,
  transform 0.65s ease;
}

.page-concept .reveal.visible {
 opacity: 1;
 transform: none;
}

/* ============================================================
  NEWS / WORKS — セクション下部一覧ボタン
============================================================ */
.home-section-more {
 display: flex;
 justify-content: center;
 margin-top: 32px;
}

.home-section-more .c-btn-secondary {
 width: 100%;
 max-width: 500px;
}

.home-news__more {
 margin-bottom: 8px;
}

.home-works__more {
 margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
 .home-section-more {
  margin-top: 40px;
 }

 .home-section-more .c-btn-secondary {
  width: auto;
  min-width: 260px;
 }

 .home-works__more {
  margin-bottom: 52px;
 }
}
