/* KYABEL SITE 52 CHAMPAGNE ARC / responsive.css
   確認幅: 360/390/430/768/1024/1280/1440/1920。横スクロール禁止・本文16px維持。 */

/* ---- タブレット以上: 2カラム化 ---- */
@media (min-width: 768px) {
  .castbig { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center; }
  .castbig__media { max-width: 380px; margin: 0; }
  .castbig__body { text-align: left; }
  .reserve__inner { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr); gap: 2.4rem; }
  .reserve__actions { justify-content: flex-end; }
  .room__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .access__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }
}

/* ---- デスクトップナビ / モバイルドロワーの境界 ---- */
@media (max-width: 899px) {
  .nav, .header__cta { display: none; }
  .hamburger { display: flex; }
  .footer__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 900px) {
  .hamburger { display: none; }
}

/* ---- 大画面: フッター3カラム余白調整 ---- */
@media (min-width: 760px) {
  .footer__grid { grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)); }
}

/* ---- モバイル微調整 ---- */
@media (max-width: 620px) {
  .hero__meta { flex-direction: column; gap: 0.25rem; }
  .plantabs { flex-wrap: wrap; }
  .plantab { flex: 1 1 30%; }
  .planpanel__head { flex-direction: column; align-items: flex-start; }
  .gallery__grid { columns: 2 140px; }
  .access__dl div { grid-template-columns: 6.5rem minmax(0, 1fr); }
}
@media (max-width: 430px) {
  .fabbar { gap: 0.45rem; }
  .fab__circle { width: 48px; height: 48px; }
  .fab__circle svg { width: 20px; height: 20px; }
  .carousel__head { align-items: center; }
}
@media (max-width: 380px) {
  .gallery__grid { columns: 1; }
  .slide { flex-basis: 78vw; } /* モバイルはカルーセル1枚見せ */
}

/* ---- カルーセル: モバイルで1枚に近い見せ方 ---- */
@media (max-width: 620px) {
  .slide { flex-basis: 66vw; }
}

/* 固定CTAはモバイル用（§33）。デスクトップはヘッダーCTAに集約 */
@media (min-width: 900px) {
  .fabbar { display: none; }
}

/* ---- 下層ページ（V5-3） ---- */
@media (min-width: 768px) {
  .cd { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); align-items: start; }
  .two-col { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); align-items: start; }
}
@media (max-width: 560px) {
  .form__row { grid-template-columns: minmax(0, 1fr); }
  .cdnav__name { font-size: 1rem; }
  .newsrow__title { font-size: 1.1rem; }
}
/* デスクトップで固定CTAが無い分、フッター下余白を通常化 */
@media (min-width: 900px) {
  .site-footer { padding-bottom: clamp(2.8rem, 6vw, 4rem); }
  .backtop { bottom: clamp(1rem, 3vw, 1.8rem); }
}
