/**
 * MINAMI Dental Clinic - SP（スマホ）レイアウト
 * Figma node 25324:7238（【SP】ホーム）準拠
 */

/* セクション見出しデコ SP */
@media (max-width: 767px) {
  .c-section-heading__deco {
    width: 49px;
    height: 15px;
  }

  .c-section-heading__title {
    font-size: 20px;
    letter-spacing: 0.08em;
  }
}

/* ヒーロー SP */
@media (max-width: 767px) {
  .p-hero__copy-lead,
  .p-hero__copy-sub {
    font-size: 20px;
    letter-spacing: 0.08em;
    text-shadow: 4px 6px 6px rgba(0, 0, 0, 0.2);
  }

  .p-hero__slide-img {
    border-radius: 8px;
  }

  .p-hero__slide-overlay {
    border-radius: 8px;
  }

  .p-hero__slides {
    border-radius: 8px;
  }

  .c-hero-slider__arrow {
    width: 32px;
    height: 32px;
    background: transparent;
    box-shadow: none;
  }
}

/* コンセプト SP背景 */
.p-concept__deco-sp {
  position: absolute;
  top: 0;
  left: 10px;
  width: 556px;
  height: 308px;
  pointer-events: none;
}

/* ブログカード SP（横並び） */
.c-blog-card-sp {
  transition: color var(--transition-hover);
}

.c-blog-card-sp:hover .c-blog-card__title,
.c-blog-card-sp:focus-visible .c-blog-card__title {
  color: var(--color-main);
}

.c-blog-card-sp:hover .c-blog-card__image,
.c-blog-card-sp:focus-visible .c-blog-card__image {
  transform: scale(1.1);
}

.c-blog-card-sp__thumbnail {
  overflow: hidden;
}

.c-blog-card-sp__thumbnail .c-blog-card__image {
  transition: transform var(--transition-hover);
}

/* 固定予約バー SP — Figma node 25399:14096（【SP】固定CTA） */
.c-fixed-reserve-sp {
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: var(--shadow-default);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.c-fixed-reserve-sp--fixed {
  border-top: 1px solid var(--color-main);
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.c-fixed-reserve-sp__btn {
  background-color: var(--color-main);
  transition: background-color var(--transition-hover);
}

.c-fixed-reserve-sp__btn:hover,
.c-fixed-reserve-sp__btn:focus-visible {
  background-color: var(--color-main-dark);
}

.c-fixed-reserve-sp__tel-link:hover .c-fixed-reserve-sp__tel-number,
.c-fixed-reserve-sp__tel-link:focus-visible .c-fixed-reserve-sp__tel-number {
  color: var(--color-main-dark);
}

/* フッター SP */
@media (max-width: 767px) {
  .c-footer__access {
    border-radius: 8px;
  }

  .c-footer__buttons .c-button--primary,
  .c-footer__buttons .c-button--outline {
    width: 150px;
    height: 38px;
    font-size: 14px;
    border-radius: 30px;
  }

  .c-footer__map-frame {
    width: 315px;
    height: 315px;
    max-width: 100%;
  }

  .c-footer__nav {
    flex-direction: column;
    gap: 40px;
  }

  .c-footer__nav-group {
    min-width: 0;
  }

  .c-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .c-footer__nav-list .c-footer__nav-item + .c-footer__nav-item {
    margin-top: 0;
  }
}

/* 診療案内カード SP */
@media (max-width: 767px) {
  .c-medical-card__title {
    font-size: 20px;
    letter-spacing: 0.08em;
  }

  .c-medical-card__subtitle {
    font-size: 12px;
    letter-spacing: 0.08em;
  }

  .p-medical__note {
    width: 100%;
    max-width: 335px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* おすすめ SP */
@media (max-width: 767px) {
  .c-recommend-card__tag-text {
    font-size: 20px;
    letter-spacing: 0.08em;
  }
}
