@charset "UTF-8";

/* ==============================
   p-furisode-service
   振袖：当店でできること（写真＋番号＋説明の横長カード）
   ============================== */
.p-furisode-services { border-top: 1px solid var(--color-line); }
.p-furisode-service-list { display: grid; gap: 16px; }
.p-furisode-service { display: grid; border: 1px solid var(--color-line); background: var(--color-bg-white); }
.p-furisode-service__img { position: relative; aspect-ratio: 16 / 10; background: var(--color-bg-alt); }
.p-furisode-service__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p-furisode-service__body { display: flex; align-items: center; gap: 20px; min-width: 0; padding: 24px 22px; }
.p-furisode-service__no { flex: none; font: 600 42px/1 var(--font-en); color: var(--color-accent); }
.p-furisode-service__text { display: grid; gap: 8px; min-width: 0; }
.p-furisode-service__en { font: 600 11px var(--font-en); letter-spacing: .26em; text-transform: uppercase; color: var(--color-beige); }
.p-furisode-service__title { font: 700 19px var(--font-mincho); letter-spacing: .05em; }
.p-furisode-service__desc { margin-top: 4px; font-size: 13.5px; line-height: 2; color: var(--color-text-sub); }
@media (min-width: 768px) {
  .p-furisode-service { grid-template-columns: 320px minmax(0, 1fr); }
  .p-furisode-service__img { aspect-ratio: auto; min-height: 200px; }
  .p-furisode-service__body { gap: 28px; padding: 28px clamp(22px, 3.5vw, 44px); }
  .p-furisode-service__no { font-size: 54px; }
  .p-furisode-service__title { font-size: 21px; }
}

/* ==============================
   p-furisode-studio
   振袖：スタジオ紹介（3列）
   ============================== */
.p-furisode-studio { display: grid; gap: 32px; }
.p-furisode-studio__item { display: flex; flex-direction: column; gap: 16px; }
.p-furisode-studio__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-bg-alt); }
.p-furisode-studio__img img { width: 100%; height: 100%; object-fit: cover; }
.p-furisode-studio__title { font: 700 17px var(--font-mincho); letter-spacing: .04em; }
.p-furisode-studio__desc { font-size: 13px; line-height: 1.95; color: var(--color-text-mute); }
@media (min-width: 768px) {
  .p-furisode-studio { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}

/* ==============================
   p-furisode-lineup
   振袖：振袖ラインナップ（写真4枚）
   ============================== */
.p-furisode-lineup { margin-top: var(--section-space); }
.p-furisode-lineup__grid { margin-top: 28px; }

/* ==============================
   p-furisode-flow
   振袖：成人式までの流れ
   ============================== */
.p-furisode-flow { border-top: 1px solid var(--color-line-alt); }
.p-furisode-flow__lead { margin-bottom: 36px; font-size: 13px; color: var(--color-text-mute); }
.p-furisode-flow__more { display: flex; justify-content: center; margin-top: 40px; }

/* ==============================
   p-furisode-voice
   振袖：お客様の声
   ============================== */
.p-furisode-voice { display: grid; gap: 20px; }
.p-furisode-voice__item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 30px 28px;
  border: 1px solid var(--color-line);
  background: var(--color-bg-white);
}
.p-furisode-voice__item::before { content: "“"; font: 600 44px/.6 var(--font-en); color: var(--color-accent); }
.p-furisode-voice__text { margin: 0; font: 600 15px/1.95 var(--font-mincho); letter-spacing: .03em; }
.p-furisode-voice__name { margin-top: auto; font-size: 12px; letter-spacing: .06em; color: var(--color-beige); }
@media (min-width: 1024px) {
  .p-furisode-voice { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
