/* about-intro.css — ホーム「幼稚園と保育園、ふたつの良さ」セクション */
@charset "UTF-8";

.about-intro { overflow: hidden; }
.about-intro__hidden-fields[hidden] { display: none; }

.about-intro__layout {
  display: grid;
  grid-template-columns: minmax(280px, 460px) 1fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

/* ── 左: テキスト ── */
.about-intro__text { padding-right: 0.5rem; }
.about-intro__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 0.75rem;
}
.about-intro__title {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  line-height: 1.5;
  color: var(--color-heading-ink);
  text-align: left;
  margin-bottom: 1.5rem;
}
.about-intro__title::after { content: none; }
.about-intro__title span { display: block; font-size: 0.62em; color: var(--color-primary); margin-top: 0.4rem; }
.about-intro__lead {
  font-size: 1rem;
  line-height: 1.95;
  color: var(--color-text);
  margin-bottom: 2rem;
}
.about-intro__text p.more {
  text-align: center;
  margin-top: 1rem;
}
a.btna.about-intro__cta {
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border-color: var(--color-primary) !important;
  color: var(--color-on-primary) !important;
}
a.about-intro__cta:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
  color: #fff !important;
}
.about-intro__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: auto;
  height: auto;
  max-width: max-content;
  padding: 0.8rem 1.8rem !important;
  margin: 1.25rem 0 0 !important;
  font-size: 1rem !important;
  line-height: 1.4;
  text-align: center;
  background-color: var(--color-primary) !important;
  background-image: none !important;
  border: 2px solid var(--color-primary) !important;
  color: var(--color-on-primary) !important;
  box-shadow: 0 10px 24px rgba(226,105,164,0.35);
}
a.about-intro__cta,
a.btn.about-intro__cta {
  color: #fff !important;
}
a.btn.about-intro__cta:hover {
  background-color: var(--color-primary-dark) !important;
  border-color: var(--color-primary-dark) !important;
  color: #fff !important;
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(226,105,164,0.45);
}
.about-intro__cta--unused { display: inline-block; }

/* ── 右: ビジュアル ── */
.about-intro__visual {
  position: relative;
  min-height: clamp(360px, 46vw, 560px);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 淡いピンクの水彩背景 */
.about-intro__watercolor {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 45% 55% 60% 40% / 55% 45% 55% 45%;
  background:
    radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--color-accent) 55%, transparent) 0%, transparent 60%),
    radial-gradient(circle at 75% 70%, color-mix(in srgb, var(--color-primary) 40%, transparent) 0%, transparent 65%),
    color-mix(in srgb, var(--color-accent) 16%, var(--color-bg));
  filter: blur(0.5px);
}

/* 写真: シンプルな角丸長方形に統一(以前の有機的border-radiusは枠と写真の重心がずれて見えるため撤去) */
.about-intro__photo {
  position: relative;
  z-index: 2;
  display: block;
  flex: 0 0 auto;
  align-self: center;
  width: min(88%, 500px);
  aspect-ratio: 16/10;
  margin: 0 auto;
  padding: 0;
  line-height: 0;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(128, 38, 82, 0.22);
  border: 6px solid rgba(255,255,255,0.85);
}
.about-intro__photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  max-height: none !important;
  display: block;
  margin: 0;
}

/* 装飾: 花・葉モチーフ */
.about-intro__deco { position: absolute; z-index: 3; pointer-events: none; }
.about-intro__deco--flower1 { width: 64px; height: 64px; top: 4%; left: 2%; }
.about-intro__deco--leaf { width: 84px; height: 84px; bottom: 6%; left: -2%; transform: rotate(-12deg); }
.about-intro__deco--flower2 { width: 48px; height: 48px; bottom: 12%; right: 4%; }

/* 縦書き風の言葉 */
.about-intro__vertical {
  position: absolute;
  z-index: 3;
  top: 8%;
  right: 2%;
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: flex;
  gap: 1.1rem;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  letter-spacing: 0.15em;
  color: var(--color-primary-dark);
  line-height: 1.6;
  text-shadow: 0 2px 12px rgba(255,255,255,0.6);
}
.about-intro__vertical span:nth-child(2) { color: var(--color-heading-ink); }
.about-intro__vertical span:nth-child(3) { color: var(--color-primary-dark); }

@media (max-width: 900px) {
  .about-intro__layout { grid-template-columns: 1fr; }
  .about-intro__text { padding-right: 0; text-align: left; }
  .about-intro__visual { min-height: 420px; }
  .about-intro__vertical { top: 4%; right: 3%; font-size: 0.95rem; gap: 0.7rem; }
  .about-intro__photo { width: 74%; }
}

@media (max-width: 480px) {
  .about-intro__visual { min-height: 340px; }
  .about-intro__photo { width: 80%; }
  .about-intro__vertical { top: 2%; right: 2%; font-size: 0.78rem; gap: 0.5rem; letter-spacing: 0.08em; }
  .about-intro__deco--flower1 { width: 40px; height: 40px; }
  .about-intro__deco--leaf { width: 52px; height: 52px; }
  .about-intro__deco--flower2 { width: 30px; height: 30px; }
}

@media (max-width: 360px) {
  .about-intro__visual { min-height: 300px; }
  .about-intro__vertical { font-size: 0.68rem; gap: 0.4rem; }
}
